From 17374925f380ccb4ce62f0a7971351cc49b0eca0 Mon Sep 17 00:00:00 2001 From: zhanghao <774378400@qq.com> Date: Mon, 24 Nov 2025 14:37:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A7=A6=E6=8E=A7=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 121 ++--- src/components/FileUpload/index.vue | 425 +++++++++--------- src/permission.js | 2 + src/router/index.js | 28 ++ .../is/func/FunctionTable/FunctionDialog.vue | 101 +++++ .../is/func/FunctionTable/FunctionTable.vue | 200 +++++++++ src/views/is/func/TreePanel/TreeDialog.vue | 104 +++++ src/views/is/func/TreePanel/TreePanel.vue | 335 ++++++++++++++ src/views/is/func/index.vue | 49 ++ src/views/is/im/Table/Dialog.vue | 93 ++++ src/views/is/im/Table/Table.vue | 200 +++++++++ src/views/is/im/TreePanel/TreePanel.vue | 139 ++++++ src/views/is/im/index.vue | 40 ++ src/views/is/project/evaluate/index.vue | 69 +++ src/views/is/project/index.vue | 418 +++++++++++++++++ .../is/project/plan/FunctionSelection.vue | 179 ++++++++ src/views/is/project/plan/index.vue | 295 ++++++++++++ 17 files changed, 2526 insertions(+), 272 deletions(-) create mode 100644 src/views/is/func/FunctionTable/FunctionDialog.vue create mode 100644 src/views/is/func/FunctionTable/FunctionTable.vue create mode 100644 src/views/is/func/TreePanel/TreeDialog.vue create mode 100644 src/views/is/func/TreePanel/TreePanel.vue create mode 100644 src/views/is/func/index.vue create mode 100644 src/views/is/im/Table/Dialog.vue create mode 100644 src/views/is/im/Table/Table.vue create mode 100644 src/views/is/im/TreePanel/TreePanel.vue create mode 100644 src/views/is/im/index.vue create mode 100644 src/views/is/project/evaluate/index.vue create mode 100644 src/views/is/project/index.vue create mode 100644 src/views/is/project/plan/FunctionSelection.vue create mode 100644 src/views/is/project/plan/index.vue diff --git a/package.json b/package.json index 38d2948..3a3b434 100644 --- a/package.json +++ b/package.json @@ -1,60 +1,61 @@ -{ - "name": "CMVR-IOT-UI", - "version": "3.8.8", - "description": "CMVR-IOT平台管理系统前端UI框架", - "author": "CMVR", - "license": "MIT", - "type": "module", - "scripts": { - "dev": "vite", - "build:dev": "vite build --mode development", - "build:prod": "vite build --mode production", - "build:test": "vite build --mode test", - "preview": "vite preview" - }, - "dependencies": { - "@element-plus/icons-vue": "2.3.1", - "@logicflow/core": "^2.0.13", - "@logicflow/extension": "^2.0.18", - "@vueup/vue-quill": "1.2.0", - "@vueuse/core": "10.11.0", - "ace-builds": "^1.43.0", - "axios": "0.28.1", - "clipboard": "2.0.11", - "dayjs": "^1.11.13", - "echarts": "5.5.1", - "element-plus": "2.9.4", - "file-saver": "2.0.5", - "fuse.js": "6.6.2", - "js-beautify": "1.14.11", - "js-cookie": "3.0.5", - "jsencrypt": "3.3.2", - "json-editor-vue": "^0.18.1", - "lodash": "^4.17.21", - "mitt": "^3.0.1", - "nprogress": "0.2.0", - "pako": "^2.1.0", - "pinia": "2.1.7", - "socket.io-client": "^4.8.1", - "sockjs-client": "^1.6.1", - "splitpanes": "3.1.5", - "uuid": "^11.1.0", - "vue": "3.4.31", - "vue-cropper": "1.1.1", - "vue-router": "4.4.0", - "vue3-ace-editor": "^2.2.4", - "vue3-json-viewer": "2.3.0", - "vuedraggable": "4.1.0", - "xgplayer": "^3.0.22" - }, - "devDependencies": { - "@vitejs/plugin-vue": "5.0.5", - "file-loader": "^6.2.0", - "sass": "1.77.5", - "unplugin-auto-import": "0.17.6", - "unplugin-vue-setup-extend-plus": "1.0.1", - "vite": "5.3.2", - "vite-plugin-compression": "0.5.1", - "vite-plugin-svg-icons": "2.0.1" - } -} +{ + "name": "CMVR-IOT-UI", + "version": "3.8.8", + "description": "CMVR-IOT平台管理系统前端UI框架", + "author": "CMVR", + "license": "MIT", + "type": "module", + "scripts": { + "dev": "vite", + "build:dev": "vite build --mode development", + "build:prod": "vite build --mode production", + "build:test": "vite build --mode test", + "preview": "vite preview" + }, + "dependencies": { + "@element-plus/icons-vue": "2.3.1", + "@logicflow/core": "^2.0.13", + "@logicflow/extension": "^2.0.18", + "@vueup/vue-quill": "1.2.0", + "@vueuse/core": "10.11.0", + "ace-builds": "^1.43.0", + "axios": "0.28.1", + "clipboard": "2.0.11", + "dayjs": "^1.11.13", + "echarts": "5.5.1", + "element-plus": "2.9.4", + "file-saver": "2.0.5", + "fuse.js": "6.6.2", + "js-beautify": "1.14.11", + "js-cookie": "3.0.5", + "jsencrypt": "3.3.2", + "json-editor-vue": "^0.18.1", + "lodash": "^4.17.21", + "mitt": "^3.0.1", + "nprogress": "0.2.0", + "pako": "^2.1.0", + "pinia": "2.1.7", + "pnpm": "^10.23.0", + "socket.io-client": "^4.8.1", + "sockjs-client": "^1.6.1", + "splitpanes": "3.1.5", + "uuid": "^11.1.0", + "vue": "3.4.31", + "vue-cropper": "1.1.1", + "vue-router": "4.4.0", + "vue3-ace-editor": "^2.2.4", + "vue3-json-viewer": "2.3.0", + "vuedraggable": "4.1.0", + "xgplayer": "^3.0.22" + }, + "devDependencies": { + "@vitejs/plugin-vue": "5.0.5", + "file-loader": "^6.2.0", + "sass": "1.77.5", + "unplugin-auto-import": "0.17.6", + "unplugin-vue-setup-extend-plus": "1.0.1", + "vite": "5.3.2", + "vite-plugin-compression": "0.5.1", + "vite-plugin-svg-icons": "2.0.1" + } +} diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue index a860a40..887de60 100644 --- a/src/components/FileUpload/index.vue +++ b/src/components/FileUpload/index.vue @@ -1,212 +1,213 @@ - - - - - + + + + + diff --git a/src/permission.js b/src/permission.js index 9114f1a..e59a9be 100644 --- a/src/permission.js +++ b/src/permission.js @@ -38,12 +38,14 @@ router.beforeEach((to, from, next) => { useUserStore().getInfo().then(() => { isRelogin.show = false usePermissionStore().generateRoutes().then(accessRoutes => { + console.log('accessRoutes', accessRoutes) // 根据roles权限生成可访问的路由表 accessRoutes.forEach(route => { if (!isHttp(route.path)) { router.addRoute(route) // 动态添加可访问路由表 } }) + console.log('router', router) next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 }) }).catch(err => { diff --git a/src/router/index.js b/src/router/index.js index 5c17dd3..1da8531 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -214,6 +214,34 @@ export const dynamicRoutes = [ }, ], }, + { + path: "/is/plan", + component: Layout, + hidden: true, + permissions: ["is:project:list"], + children: [ + { + path: "index/:id", + component: () => import("@/views/is/project/plan/index"), + name: "ProjectPlan", + meta: { title: "项目方案", activeMenu: "/is/plan" }, + }, + ], + }, + { + path: "/is/evaluate", + component: Layout, + hidden: true, + permissions: ["is:project:list"], + children: [ + { + path: "index/:id", + component: () => import("@/views/is/project/evaluate/index"), + name: "ProjectEvaluate", + meta: { title: "评价", activeMenu: "/is/evaluate" }, + }, + ], + }, { path: "/monitor/job-log", component: Layout, diff --git a/src/views/is/func/FunctionTable/FunctionDialog.vue b/src/views/is/func/FunctionTable/FunctionDialog.vue new file mode 100644 index 0000000..1162652 --- /dev/null +++ b/src/views/is/func/FunctionTable/FunctionDialog.vue @@ -0,0 +1,101 @@ + + + + + \ No newline at end of file diff --git a/src/views/is/func/FunctionTable/FunctionTable.vue b/src/views/is/func/FunctionTable/FunctionTable.vue new file mode 100644 index 0000000..8678b33 --- /dev/null +++ b/src/views/is/func/FunctionTable/FunctionTable.vue @@ -0,0 +1,200 @@ + + + + + \ No newline at end of file diff --git a/src/views/is/func/TreePanel/TreeDialog.vue b/src/views/is/func/TreePanel/TreeDialog.vue new file mode 100644 index 0000000..bdbc686 --- /dev/null +++ b/src/views/is/func/TreePanel/TreeDialog.vue @@ -0,0 +1,104 @@ + + + + + \ No newline at end of file diff --git a/src/views/is/func/TreePanel/TreePanel.vue b/src/views/is/func/TreePanel/TreePanel.vue new file mode 100644 index 0000000..a195bdc --- /dev/null +++ b/src/views/is/func/TreePanel/TreePanel.vue @@ -0,0 +1,335 @@ + + + + + \ No newline at end of file diff --git a/src/views/is/func/index.vue b/src/views/is/func/index.vue new file mode 100644 index 0000000..c87a4e8 --- /dev/null +++ b/src/views/is/func/index.vue @@ -0,0 +1,49 @@ + + + + + \ No newline at end of file diff --git a/src/views/is/im/Table/Dialog.vue b/src/views/is/im/Table/Dialog.vue new file mode 100644 index 0000000..951aa97 --- /dev/null +++ b/src/views/is/im/Table/Dialog.vue @@ -0,0 +1,93 @@ + + + + + \ No newline at end of file diff --git a/src/views/is/im/Table/Table.vue b/src/views/is/im/Table/Table.vue new file mode 100644 index 0000000..6493915 --- /dev/null +++ b/src/views/is/im/Table/Table.vue @@ -0,0 +1,200 @@ + + + + + \ No newline at end of file diff --git a/src/views/is/im/TreePanel/TreePanel.vue b/src/views/is/im/TreePanel/TreePanel.vue new file mode 100644 index 0000000..91245d8 --- /dev/null +++ b/src/views/is/im/TreePanel/TreePanel.vue @@ -0,0 +1,139 @@ + + + + + \ No newline at end of file diff --git a/src/views/is/im/index.vue b/src/views/is/im/index.vue new file mode 100644 index 0000000..6c1386a --- /dev/null +++ b/src/views/is/im/index.vue @@ -0,0 +1,40 @@ + + + + \ No newline at end of file diff --git a/src/views/is/project/evaluate/index.vue b/src/views/is/project/evaluate/index.vue new file mode 100644 index 0000000..3648299 --- /dev/null +++ b/src/views/is/project/evaluate/index.vue @@ -0,0 +1,69 @@ + + + \ No newline at end of file diff --git a/src/views/is/project/index.vue b/src/views/is/project/index.vue new file mode 100644 index 0000000..2171009 --- /dev/null +++ b/src/views/is/project/index.vue @@ -0,0 +1,418 @@ + + + + diff --git a/src/views/is/project/plan/FunctionSelection.vue b/src/views/is/project/plan/FunctionSelection.vue new file mode 100644 index 0000000..e945afa --- /dev/null +++ b/src/views/is/project/plan/FunctionSelection.vue @@ -0,0 +1,179 @@ + + + diff --git a/src/views/is/project/plan/index.vue b/src/views/is/project/plan/index.vue new file mode 100644 index 0000000..8af3492 --- /dev/null +++ b/src/views/is/project/plan/index.vue @@ -0,0 +1,295 @@ + + + +