From 1f7852f372c9f3405c9477cbeb267110de0c7b10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=A6=8D?= <1455167345@qq.com> Date: Thu, 31 Jul 2025 11:24:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8F=9C=E5=8D=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/modules/permission.ts | 158 +++++++++--------- src/views/demo/system/role/ModulesModal.vue | 14 +- .../flightoperation/src/UAVInformation.vue | 18 +- 3 files changed, 90 insertions(+), 100 deletions(-) diff --git a/src/store/modules/permission.ts b/src/store/modules/permission.ts index 97c0807..a5e46d3 100644 --- a/src/store/modules/permission.ts +++ b/src/store/modules/permission.ts @@ -133,32 +133,26 @@ export const usePermissionStore = defineStore({ const normalizeMenu = (data) => { let path = ''; - if (data.item.url.indexOf('@') > 0) { - path = data.item.url.replace('@', '/'); + if (data.url.indexOf('@') > 0) { + path = data.url.replace('@', '/'); } else { path = - data.item.url || - '/formCallPage?id=' + - data.item.id + - '&name=' + - data.item.name + - '&code=' + - data.item.code; + data.url || '/formCallPage?id=' + data.id + '&name=' + data.name + '&code=' + data.code; } const newPath = { - orderNo: data.item.sortNo, - icon: data.item.iconName, - title: data.item.name, + orderNo: data.sortNo, + icon: data.iconName, + title: data.name, meta: { - orderNo: data.item.sortNo, - icon: data.item.iconName, - title: data.item.name, - elements: (data.item && data.item.elements) || '', + orderNo: data.sortNo, + icon: data.iconName, + title: data.name, + elements: (data && data.elements) || '', }, - name: data.item.name, - hideMenu: data.item.status == 1 ? false : true, + name: data.name, + hideMenu: data.status == 1 ? false : true, path: path, - id: data.item.id || '', + id: data.id || '', children: [], }; if (data.children && data.children.length > 0) { @@ -172,56 +166,56 @@ export const usePermissionStore = defineStore({ const modules = import.meta.glob('../../views/**/**/**/index.vue'); childData.forEach((element) => { // 菜单里配置带参数,但没有单独的主路由,先注册主路由 - if (element.item.status == 1 && element.item.url.indexOf('@') > 0) { - if (router.hasRoute(element.item.code)) { - const path = element.item.url.substring(0, element.item.url.indexOf('@')); - router.addRoute(element.item.code, { + if (element.status == 1 && element.url.indexOf('@') > 0) { + if (router.hasRoute(element.code)) { + const path = element.url.substring(0, element.url.indexOf('@')); + router.addRoute(element.code, { path: path + '/:id', - name: element.item.url.replaceAll('/', ''), + name: element.url.replaceAll('/', ''), meta: { - title: element.item.name, - icon: element.item.iconName, - elements: element.item.elements, + title: element.name, + icon: element.iconName, + elements: element.elements, }, component: modules['../../views/demo' + path + '/index.vue'], }); } else { - const path = element.item.url.substring(0, element.item.url.indexOf('@')); + const path = element.url.substring(0, element.url.indexOf('@')); router.addRoute('Root', { path: path, - name: element.item.code, + name: element.code, meta: { - title: element.item.name, - icon: element.item.iconName, + title: element.name, + icon: element.iconName, hideChildrenInMenu: true, - elements: element.item.elements, + elements: element.elements, }, component: LAYOUT, children: [ { path: path + '/:id', - name: element.item.url.replaceAll('/', ''), + name: element.url.replaceAll('/', ''), meta: { - title: element.item.name, - icon: element.item.iconName, - elements: element.item.elements, + title: element.name, + icon: element.iconName, + elements: element.elements, }, component: modules['../../views/demo' + path + '/index.vue'], }, ], }); } - } else if (element.item.code && element.item.status == 1) { - router.addRoute(element.item.code, { - path: element.item.url, - name: element.item.url.replaceAll('/', ''), + } else if (element.code && element.status == 1) { + router.addRoute(element.code, { + path: element.url, + name: element.url.replaceAll('/', ''), meta: { - title: element.item.name, - icon: element.item.iconName, - elements: element.item.elements, + title: element.name, + icon: element.iconName, + elements: element.elements, }, - // component: () => import('../../views/demo' + element.item.url + '/index.vue') - component: modules['../../views/demo' + element.item.url + '/index.vue'], + // component: () => import('../../views/demo' + element.url + '/index.vue') + component: modules['../../views/demo' + element.url + '/index.vue'], }); } if (element.children && element.children.length > 0) { @@ -232,43 +226,43 @@ export const usePermissionStore = defineStore({ // 注册路由 const registeredRoute = (data) => { const modules = import.meta.glob('../../views/**/**/**/index.vue'); - if (data.item.url.split('/')[1] == 'map') { + if (data.url.split('/')[1] == 'map') { // 大屏的情况下不继承layout router.addRoute('Root', { - path: data.item.url, - name: data.item.code, + path: data.url, + name: data.code, meta: { - title: data.item.name, - icon: data.item.iconName, - elements: data.item.elements, + title: data.name, + icon: data.iconName, + elements: data.elements, }, - component: modules['../../views' + data.item.url + '/index.vue'], + component: modules['../../views' + data.url + '/index.vue'], }); } else { // 正常菜单 - if (data.children.length == 0 && data.item.status == 1) { + if (data.children.length == 0 && data.status == 1) { // 没有子菜单 - if (data.item.url.indexOf('@') > 0) { + if (data.url.indexOf('@') > 0) { //给带参数的路由先注册主路由 - const path = data.item.url.substring(0, data.item.url.indexOf('@')); + const path = data.url.substring(0, data.url.indexOf('@')); router.addRoute('Root', { path: path, - name: data.item.code, + name: data.code, meta: { - title: data.item.name, - icon: data.item.iconName, + title: data.name, + icon: data.iconName, hideChildrenInMenu: true, - elements: data.item.elements, + elements: data.elements, }, component: LAYOUT, children: [ { path: path + '/:id', - name: data.item.url.replaceAll('/', ''), + name: data.url.replaceAll('/', ''), meta: { - title: data.item.name, - icon: data.item.iconName, - elements: data.item.elements, + title: data.name, + icon: data.iconName, + elements: data.elements, }, component: modules['../../views/demo' + path + '/index.vue'], }, @@ -276,46 +270,44 @@ export const usePermissionStore = defineStore({ }); } else { router.addRoute('Root', { - path: data.item.url, - name: data.item.code, + path: data.url, + name: data.code, meta: { - title: data.item.name, - icon: data.item.iconName, + title: data.name, + icon: data.iconName, hideChildrenInMenu: true, - elements: data.item.elements, + elements: data.elements, }, component: LAYOUT, children: [ { - path: data.item.url, - name: data.item.url.replaceAll('/', ''), + path: data.url, + name: data.url.replaceAll('/', ''), meta: { - title: data.item.name, - icon: data.item.iconName, - elements: data.item.elements, + title: data.name, + icon: data.iconName, + elements: data.elements, }, - component: modules['../../views/demo' + data.item.url + '/index.vue'], + component: modules['../../views/demo' + data.url + '/index.vue'], }, ], }); } } else { // 有子菜单 - if (data.item.status == 0) { + if (data.status == 0) { return; } router.addRoute('Root', { - path: data.item.url, - name: data.item.code, + path: data.url, + name: data.code, meta: { - title: data.item.name, - icon: data.item.iconName, - elements: data.item.elements, + title: data.name, + icon: data.iconName, + elements: data.elements, }, component: - data.item.parentId == 0 - ? LAYOUT - : modules['../../views/demo' + data.item.url + '/index.vue'], + data.parentId == 0 ? LAYOUT : modules['../../views/demo' + data.url + '/index.vue'], }); if (data.children && data.children.length > 0) { childRoute(data.children); diff --git a/src/views/demo/system/role/ModulesModal.vue b/src/views/demo/system/role/ModulesModal.vue index 79e3dc0..12fb4d4 100644 --- a/src/views/demo/system/role/ModulesModal.vue +++ b/src/views/demo/system/role/ModulesModal.vue @@ -65,19 +65,19 @@ } function treeIterator(tree) { tree.forEach((node) => { - node.name = node.item.name; - node.id = node.item.id; - node.elements = node.item.elements; + node.name = node.name; + node.id = node.id; + node.elements = node.elements; node.children && treeIterator(node.children); }); } function btnIterator(moduleId, tree) { tree.forEach((node) => { - if (moduleId == node.item.id) { + if (moduleId == node.id) { btnData.value.push({ - name: node.item.name, - id: node.item.id, - elements: node.item.elements, + name: node.name, + id: node.id, + elements: node.elements, disabled: true, }); } diff --git a/src/views/demo/workmanagement/flightoperation/src/UAVInformation.vue b/src/views/demo/workmanagement/flightoperation/src/UAVInformation.vue index ba88f44..11ab567 100644 --- a/src/views/demo/workmanagement/flightoperation/src/UAVInformation.vue +++ b/src/views/demo/workmanagement/flightoperation/src/UAVInformation.vue @@ -14,16 +14,12 @@ {{ time }} -
+
{{ @@ -32,16 +28,17 @@ : 0 }}
-
+ -->
- + 连接 +
@@ -50,9 +47,10 @@ v-if=" uavInformation.wireless_link && uavInformation.wireless_link['4g_link_state'] == 1 " - >连接 - + 连接 +