diff --git a/src/api/smart-tracking.js b/src/api/smart-tracking.js new file mode 100644 index 0000000..e1386e2 --- /dev/null +++ b/src/api/smart-tracking.js @@ -0,0 +1,10 @@ +import request from '@/utils/request' + +// 获取取证快照列表 +export const getEvidenceSnapshotList = (params) => { + return request({ + url: '/evidenceSnapshot/list', + method: 'get', + params + }) +} diff --git a/src/layout/index.vue b/src/layout/index.vue index c4c130d..2f2761f 100644 --- a/src/layout/index.vue +++ b/src/layout/index.vue @@ -29,6 +29,10 @@ 人员管理 + + + 智能追踪 + diff --git a/src/router/index.js b/src/router/index.js index 43e9ce2..c36da59 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -54,6 +54,12 @@ const routes = [ name: 'Personnel', component: () => import('@/views/personnel/index.vue'), meta: { title: '人员管理', requiresAuth: true } + }, + { + path: 'smart-tracking', + name: 'SmartTracking', + component: () => import('@/views/smart-tracking/index.vue'), + meta: { title: '智能追踪', requiresAuth: true } } ] }, diff --git a/src/styles/variables.scss b/src/styles/variables.scss index 0c933ed..2045ec7 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -25,3 +25,11 @@ $box-shadow-light: 0 2px 6px rgba(0, 0, 0, 0.05); $transition-duration: 0.3s; $transition-function: ease; + +// 智能追踪色系 +$tracking-primary: #1a3a5c; +$tracking-hover: #234b6e; +$tracking-dark: #0d2847; +$tracking-disabled: #c8cfd8; +$tracking-accent: #66b1ff; +$tracking-bg: linear-gradient(135deg, $tracking-primary 0%, $tracking-dark 100%); diff --git a/src/views/smart-tracking/components/AlgorithmSelector.vue b/src/views/smart-tracking/components/AlgorithmSelector.vue new file mode 100644 index 0000000..af0f534 --- /dev/null +++ b/src/views/smart-tracking/components/AlgorithmSelector.vue @@ -0,0 +1,176 @@ + + + + + 算法类型 + + + + + + + {{ algo.name }} + {{ algo.desc }} + + + + 关闭算法 + + + + + + + + diff --git a/src/views/smart-tracking/components/DeviceModal.vue b/src/views/smart-tracking/components/DeviceModal.vue new file mode 100644 index 0000000..d2ee475 --- /dev/null +++ b/src/views/smart-tracking/components/DeviceModal.vue @@ -0,0 +1,529 @@ + + + + + + + + + + + + 选择追踪设备 + 可选择多台设备同时进行智能追踪 + + + + + + 刷新设备 + + 共 {{ deviceList.length }} 台可用设备 + + + + + + + 正在加载设备列表... + + + + + + 重新加载 + + + + + + + + + + + + + + + + + + + + + + {{ device.groupName }} + + + {{ deviceTypeName(device.groupType) }} + + + + {{ device.groupStatus === 1 ? '在线' : '离线' }} + + + + + {{ device.cameras.length }} 个摄像头 + + + + + {{ isSelected(device) ? '取消选择' : '选择此设备' }} + + + + 设备离线 + + + + + + + + + + + + + + + diff --git a/src/views/smart-tracking/components/SelectedDeviceBar.vue b/src/views/smart-tracking/components/SelectedDeviceBar.vue new file mode 100644 index 0000000..2c1e5fe --- /dev/null +++ b/src/views/smart-tracking/components/SelectedDeviceBar.vue @@ -0,0 +1,87 @@ + + + + 当前设备: + + + + {{ device.groupName }} + + + 共 {{ activeDevices.length }} 台 + + 切换设备 + + + + + + + diff --git a/src/views/smart-tracking/components/SnapshotPanel.vue b/src/views/smart-tracking/components/SnapshotPanel.vue new file mode 100644 index 0000000..e0adc13 --- /dev/null +++ b/src/views/smart-tracking/components/SnapshotPanel.vue @@ -0,0 +1,227 @@ + + + + + 取证快照 + {{ snapshots.length }} 张 + + + + 加载取证快照... + + + + + + + + + + + + 场景类型 + {{ item.sceneType || '--' }} + + + + 文件名称 + {{ item.name || '--' }} + + + + 取证时间 + {{ item.time }} + + + + + + + + 暂无取证快照 + + + + + + + + diff --git a/src/views/smart-tracking/index.vue b/src/views/smart-tracking/index.vue new file mode 100644 index 0000000..ec10ebd --- /dev/null +++ b/src/views/smart-tracking/index.vue @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + + + 监控画面 + 共 {{ cameras.length }} 路 + + + + + {{ cam.deviceName }} · {{ cam.name }} + + + + + 暂无监控画面 + + + + + + + + + + + + + + + + + + +
{{ algo.desc }}
可选择多台设备同时进行智能追踪
正在加载设备列表...
加载取证快照...
暂无取证快照
暂无监控画面