From d8520da8941747faca9f18eee10e040153b31a95 Mon Sep 17 00:00:00 2001 From: trezeman <2857385816@qq.com> Date: Tue, 31 Mar 2026 17:56:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=BE=E5=A4=87=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=92=8C=E6=95=99=E5=AD=A6=E8=A7=86=E9=A2=91=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=EF=BC=8C=E5=AE=8C=E6=88=90=E5=9F=BA=E7=A1=80ui?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/system/info.js | 18 + src/api/system/video.js | 18 + src/store/modules/permission.js | 8 + src/views/system/info/index.vue | 545 +++++++++++++++++++++++++++++++ src/views/system/video/index.vue | 329 +++++++++++++++++++ 5 files changed, 918 insertions(+) create mode 100644 src/api/system/info.js create mode 100644 src/api/system/video.js create mode 100644 src/views/system/info/index.vue create mode 100644 src/views/system/video/index.vue diff --git a/src/api/system/info.js b/src/api/system/info.js new file mode 100644 index 0000000..f12a368 --- /dev/null +++ b/src/api/system/info.js @@ -0,0 +1,18 @@ +import request from '@/utils/request' + +// 查询设备基本信息列表 +export function listInfo(query) { + return request({ + url: '/system/info/list', + method: 'get', + params: query + }) +} + +// 查询设备基本信息详细 +export function getInfo(deviceId) { + return request({ + url: '/system/info/' + deviceId, + method: 'get' + }) +} diff --git a/src/api/system/video.js b/src/api/system/video.js new file mode 100644 index 0000000..8f70b59 --- /dev/null +++ b/src/api/system/video.js @@ -0,0 +1,18 @@ +import request from '@/utils/request' + +// 查询教学视频列表 +export function listVideo(query) { + return request({ + url: '/system/video/list', + method: 'get', + params: query + }) +} + +// 查询教学视频详细 +export function getVideo(videoId) { + return request({ + url: '/system/video/' + videoId, + method: 'get' + }) +} diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js index 6a16d9d..7b71840 100644 --- a/src/store/modules/permission.js +++ b/src/store/modules/permission.js @@ -58,6 +58,14 @@ const usePermissionStore = defineStore( // 遍历后台传来的路由字符串,转换为组件对象 function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) { return asyncRouterMap.filter(route => { + // 兼容:后端把顶级菜单配置成了具体页面组件(非Layout)时,会导致进入后丢失整体布局(侧边栏/顶部栏)。 + // 这里将该类顶级叶子路由自动包一层 Layout,子路由使用空 path 以保持原 URL 不变。 + if (!lastRouter && route.component && !route.children && !['Layout', 'ParentView', 'InnerLink'].includes(route.component) && typeof route.path === 'string' && route.path.startsWith('/')) { + const inner = { ...route } + route.component = 'Layout' + route.name = inner.name ? `${inner.name}Wrapper` : route.name + route.children = [Object.assign(inner, { path: '' })] + } if (type && route.children) { route.children = filterChildren(route.children) } diff --git a/src/views/system/info/index.vue b/src/views/system/info/index.vue new file mode 100644 index 0000000..476a4f7 --- /dev/null +++ b/src/views/system/info/index.vue @@ -0,0 +1,545 @@ + + + + + 设备信息 + 查看您公司拥有的焊接机器人设备信息 + + + + 正在加载... + 暂无设备 + + + {{ item.deviceName }} + + + {{ formatDeviceStatus(item.deviceStatus) }} + + + + 设备ID{{ item.deviceId }} + 设备编号{{ item.deviceCode }} + + + 查看详情 + + + + + + 加载中... + 已到底 + 上滑加载更多 + + + + + + + + 返回 + + 设备信息 + + + + + + + + + {{ detail.deviceName || '设备详情' }} + 设备编号:{{ detail.deviceCode || '-' }} + + + + {{ formatDeviceStatus(detail.deviceStatus) }} + + + + 质保{{ warrantyStatus().text }} + + + + + + + 基础信息 + 型号规格{{ detail.modelSpec || '-' }} + 购买日期{{ detail.purchaseDate || '-' }} + 设备序列号{{ detail.serialNumber || '-' }} + 安装地址{{ detail.installAddress || '-' }} + 负责人{{ detail.responsiblePerson || '-' }} + + + + 质保信息 + + 质保状态 + + {{ warrantyStatus().text }} + + + 质保开始日期{{ detail.warrantyStartDate || '-' }} + 质保结束日期{{ detail.warrantyEndDate || '-' }} + + 质保{{ warrantyStatus().leftLabel }} + {{ leftDaysText(warrantyStatus().leftDays) }} + + + + + + + + + + + diff --git a/src/views/system/video/index.vue b/src/views/system/video/index.vue new file mode 100644 index 0000000..4db52ce --- /dev/null +++ b/src/views/system/video/index.vue @@ -0,0 +1,329 @@ + + + + + 焊接机器人教学视频 + 这里提供焊接机器人使用教程与常见问题解决方案 + + + + + + + + 正在加载... + 暂无视频 + + + + + ▶ + {{ formatDuration(item.durationSeconds) }} + + + {{ item.title }} + {{ item.summary }} + + {{ formatViews(item.viewCount) }} + · + {{ item.publishDate || '-' }} + + + + + + 加载中... + 已到底 + 上滑加载更多 + + + + + + + + + + + + 暂无视频地址 + + 打开B站 + + + + {{ currentVideo?.title }} + {{ currentVideo?.summary }} + + + + + + + + + +