From 4a4c05ff3764dd8e081b4f85fb3a9c2e18d51693 Mon Sep 17 00:00:00 2001 From: guoapeng Date: Sun, 6 Jul 2025 12:19:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=B7=AF=E7=94=B1=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 + src/components/common/FTKeyboard/index.vue | 284 +++++++++++++++++++++++++++++ src/layouts/default.vue | 35 +++- src/router/index.ts | 4 +- src/router/routes.ts | 220 ++++++++++------------ src/views/home/index.vue | 2 + src/views/login/index.vue | 79 ++++---- 7 files changed, 462 insertions(+), 164 deletions(-) create mode 100644 src/components/common/FTKeyboard/index.vue diff --git a/package.json b/package.json index 44fa537..0db58d6 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,8 @@ "postcss-url": "^10.1.3", "postcss-viewport-units": "^0.1.6", "postcss-write-svg": "^3.0.1", + "simple-keyboard": "^3.8.64", + "simple-keyboard-layouts": "^3.4.102", "vue": "^3.5.13", "vue-chart-3": "^3.1.8", "vue-i18n": "^11.1.6", diff --git a/src/components/common/FTKeyboard/index.vue b/src/components/common/FTKeyboard/index.vue new file mode 100644 index 0000000..6a8d90c --- /dev/null +++ b/src/components/common/FTKeyboard/index.vue @@ -0,0 +1,284 @@ + + + + + diff --git a/src/layouts/default.vue b/src/layouts/default.vue index c40ce94..b3a1482 100644 --- a/src/layouts/default.vue +++ b/src/layouts/default.vue @@ -4,6 +4,7 @@ import WifiUnconnSvg from 'assets/images/wifi-unconn.svg' import ErrorEventsModal from 'components/system/ErrorEventsModal.vue' import NetReconnection from 'components/system/NetReconnection.vue' import { formatDateTime, openFullscreen } from 'libs/utils' +import { authRoutes } from 'router/routes' import { useDeviceStore } from 'stores/deviceStore' import { computed, onMounted, onUnmounted, ref, watch, watchEffect } from 'vue' import { useI18n } from 'vue-i18n' @@ -11,14 +12,13 @@ import { useRouter } from 'vue-router' import { getDeviceStatus } from '@/libs/deviceComm' import { FtMessageBox } from '@/libs/messageBox' -import { generateRoutes } from '@/router/routes' import { useHomeStore } from '@/stores/homeStore' import { useLiquidStore } from '@/stores/liquidStore' import { useSealStore } from '@/stores/sealStore' import { useSystemStore } from '@/stores/systemStore' -const routes = generateRoutes() -const childrenRoutes = routes.find(r => r.path === '/')?.children || [] +// const routes = generateRoutes() +// const childrenRoutes = routes.find(r => r.path === '/')?.children || [] const { locale } = useI18n() const router = useRouter() const liquidStore = useLiquidStore() @@ -41,6 +41,25 @@ const websocketConnected = ref(systemStore.websocketConnected) let touchStartTime = 0 let touchCount = 0 +const userData = localStorage.getItem('user') +const userInfo = userData ? JSON.parse(userData) : {} +const userRole = userInfo.roleType || '' + +const deviceType = __DEVICE_TYPE__ + +const menuList = computed(() => { + return authRoutes.filter((item) => { + if ( + (deviceType === deviceStore.deviceTypeMap.LargeSpaceDM_B && (item.name === 'seal' || item.name === 'liquid')) + || (deviceType === deviceStore.deviceTypeMap.LargeSpaceDM && item.name === 'seal') + || (deviceType === deviceStore.deviceTypeMap.SmallSpaceDM && item.name === 'seal') + || (deviceType === deviceStore.deviceTypeMap.DrawBarDM && item.name === 'liquid') + ) { + return false + } + return !(item.name === 'debug' && userRole !== 'admin') + }) +}) onMounted(() => { // 连续3次点击任意地方,全屏显示 onFullScreen() @@ -167,10 +186,6 @@ const statusMap = { name: '设备告警信息', }, } - -const deviceType = computed(() => { - return __DEVICE_TYPE__ -})