From ef59e5960853fbcecb7c389bb87ac73f7792f006 Mon Sep 17 00:00:00 2001
From: dzc <2388224167@qq.com>
Date: Wed, 24 Sep 2025 19:39:15 +0800
Subject: [PATCH] =?UTF-8?q?feat:=E5=9B=9E=E6=94=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/area/areaPlaybackDevice.ts | 41 +++++
src/components/Tag/TagOnline.vue | 2 +-
src/views/area/_components/areaHouseTable.vue | 15 --
.../_components/areaPlaybackDeviceForm.vue | 137 ++++++++++++++++
.../_components/areaPlaybackDeviceTable.vue | 146 ++++++++++++++++++
src/views/area/_components/bindCameraForm.vue | 1 -
.../area/_components/bindCameraTable.vue | 1 +
src/views/area/areaManage/index.vue | 6 +-
src/views/car/carAlarm/index.vue | 2 +-
.../replay-video/replay-video-dialog.vue | 3 +
src/views/door/doorAlarm/index.vue | 2 +-
.../duty/dutyPlan/components/car-list.vue | 6 +-
.../duty/dutyPlan/components/door-list.vue | 4 +-
13 files changed, 342 insertions(+), 24 deletions(-)
create mode 100644 src/api/area/areaPlaybackDevice.ts
create mode 100644 src/views/area/_components/areaPlaybackDeviceForm.vue
create mode 100644 src/views/area/_components/areaPlaybackDeviceTable.vue
diff --git a/src/api/area/areaPlaybackDevice.ts b/src/api/area/areaPlaybackDevice.ts
new file mode 100644
index 0000000..37d8a99
--- /dev/null
+++ b/src/api/area/areaPlaybackDevice.ts
@@ -0,0 +1,41 @@
+import request from "/@/utils/request"
+
+export function fetchList(query?: Object) {
+ return request({
+ url: '/admin/areaPlaybackDevice/page',
+ method: 'get',
+ params: query
+ })
+}
+
+export function addObj(obj?: Object) {
+ return request({
+ url: '/admin/areaPlaybackDevice',
+ method: 'post',
+ data: obj
+ })
+}
+
+export function getObj(id?: string) {
+ return request({
+ url: '/admin/areaPlaybackDevice/' + id,
+ method: 'get'
+ })
+}
+
+export function delObjs(ids?: Object) {
+ return request({
+ url: '/admin/areaPlaybackDevice',
+ method: 'delete',
+ data: ids
+ })
+}
+
+export function putObj(obj?: Object) {
+ return request({
+ url: '/admin/areaPlaybackDevice',
+ method: 'put',
+ data: obj
+ })
+}
+
diff --git a/src/components/Tag/TagOnline.vue b/src/components/Tag/TagOnline.vue
index c9c3f51..36e96f4 100644
--- a/src/components/Tag/TagOnline.vue
+++ b/src/components/Tag/TagOnline.vue
@@ -1,5 +1,5 @@
-
+
{{ props.isOnline ? '在线' : '离线' }}
diff --git a/src/views/area/_components/areaHouseTable.vue b/src/views/area/_components/areaHouseTable.vue
index 4a50630..aa7da2a 100644
--- a/src/views/area/_components/areaHouseTable.vue
+++ b/src/views/area/_components/areaHouseTable.vue
@@ -122,10 +122,6 @@ const form = reactive({
sortOrder: '',
});
-// 定义校验规则
-const dataRules = ref({
-})
-
// 打开弹窗
const openDialog = (id: string) => {
visible.value = true
@@ -163,17 +159,6 @@ const resetQuery = () => {
getDataList()
}
-// 初始化表单数据
-const getareaHouseData = (id: string) => {
- // 获取数据
- loading.value = true
- AreaHouseApi.getObj(id).then((res: any) => {
- Object.assign(form, res.data)
- }).finally(() => {
- loading.value = false
- })
-};
-
// 多选事件
const selectionChangHandle = (objs: { id: string }[]) => {
selectObjs.value = objs.map(({ id }) => id);
diff --git a/src/views/area/_components/areaPlaybackDeviceForm.vue b/src/views/area/_components/areaPlaybackDeviceForm.vue
new file mode 100644
index 0000000..dcd8e0b
--- /dev/null
+++ b/src/views/area/_components/areaPlaybackDeviceForm.vue
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/area/_components/areaPlaybackDeviceTable.vue b/src/views/area/_components/areaPlaybackDeviceTable.vue
new file mode 100644
index 0000000..edb5147
--- /dev/null
+++ b/src/views/area/_components/areaPlaybackDeviceTable.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
+ 新 增
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/area/_components/bindCameraForm.vue b/src/views/area/_components/bindCameraForm.vue
index a817d99..7ed436a 100644
--- a/src/views/area/_components/bindCameraForm.vue
+++ b/src/views/area/_components/bindCameraForm.vue
@@ -15,7 +15,6 @@
-
diff --git a/src/views/area/_components/bindCameraTable.vue b/src/views/area/_components/bindCameraTable.vue
index c48f01e..d87b5f3 100644
--- a/src/views/area/_components/bindCameraTable.vue
+++ b/src/views/area/_components/bindCameraTable.vue
@@ -37,6 +37,7 @@
+
diff --git a/src/views/area/areaManage/index.vue b/src/views/area/areaManage/index.vue
index 87de081..b6ddbb0 100644
--- a/src/views/area/areaManage/index.vue
+++ b/src/views/area/areaManage/index.vue
@@ -56,7 +56,7 @@
+ @click="areaPlaybackDeviceTableDialogRef.openDialog(row.id)">
报警回放摄像头
+
@@ -88,12 +89,15 @@ import { useDict } from '/@/hooks/dict';
// 引入组件
const FormDialog = defineAsyncComponent(() => import('./form.vue'));
const AreaHouseTableDialog = defineAsyncComponent(() => import('../_components/areaHouseTable.vue'));
+const AreaPlaybackDeviceTableDialog = defineAsyncComponent(() => import('../_components/areaPlaybackDeviceTable.vue'));
// 定义查询字典
const { dh_build_type } = useDict("dh_build_type")
// 定义变量内容
const formDialogRef = ref()
const areaHouseTableDialogRef = ref()
+const areaPlaybackDeviceTableDialogRef = ref()
const bindCameraDialogRef = ref()
+
// 搜索变量
const queryRef = ref()
const showSearch = ref(true)
diff --git a/src/views/car/carAlarm/index.vue b/src/views/car/carAlarm/index.vue
index 59d7c7d..1b0247b 100644
--- a/src/views/car/carAlarm/index.vue
+++ b/src/views/car/carAlarm/index.vue
@@ -230,7 +230,7 @@ function openReplayDialog(row: any) {
const startTime = parseTime(startDateTime, '{y}-{m}-{d} {h}:{i}:{s}')
const endTime = parseTime(endDateTime, '{y}-{m}-{d} {h}:{i}:{s}')
- replayVideoDialogRef.value.openDialog('channel', row.devChnId, { startTime, endTime })
+ replayVideoDialogRef.value.openDialog('playbackGroup', row.devChnId, { startTime, endTime })
}
diff --git a/src/views/device/components/replay-video/replay-video-dialog.vue b/src/views/device/components/replay-video/replay-video-dialog.vue
index 4702e78..79dfdc5 100644
--- a/src/views/device/components/replay-video/replay-video-dialog.vue
+++ b/src/views/device/components/replay-video/replay-video-dialog.vue
@@ -163,6 +163,9 @@ const getDeviceChannelList = async (codeStr: any) => {
if (state.type == "channel") {
_data.channelCode = codeStr
}
+ if (state.type == "playbackGroup") {
+ _data.playbackGroupChannelCode = codeStr
+ }
const { data, code } = await DeviceChannelApi.list(_data)
if (code != 0) throw new Error()
diff --git a/src/views/door/doorAlarm/index.vue b/src/views/door/doorAlarm/index.vue
index e5d7dbe..f57d61d 100644
--- a/src/views/door/doorAlarm/index.vue
+++ b/src/views/door/doorAlarm/index.vue
@@ -232,7 +232,7 @@ function openReplayDialog(row: any) {
const startTime = parseTime(startDateTime, '{y}-{m}-{d} {h}:{i}:{s}')
const endTime = parseTime(endDateTime, '{y}-{m}-{d} {h}:{i}:{s}')
- replayVideoDialogRef.value.openDialog('channel', row.channelCode, { startTime, endTime })
+ replayVideoDialogRef.value.openDialog('playbackGroup', row.channelCode, { startTime, endTime })
}
diff --git a/src/views/duty/dutyPlan/components/car-list.vue b/src/views/duty/dutyPlan/components/car-list.vue
index 7f6f740..c927e1d 100644
--- a/src/views/duty/dutyPlan/components/car-list.vue
+++ b/src/views/duty/dutyPlan/components/car-list.vue
@@ -29,8 +29,8 @@
-
+
@@ -92,6 +92,8 @@ const initListPoll = () => {
if (!data || !data.records) return
timer.data.records = data.records
timer.data.total = data.total
+ console.log("timer.data.total:", timer.data.total);
+
} catch (error) {
console.error("|过车列表|意外的错误:", error);
}
diff --git a/src/views/duty/dutyPlan/components/door-list.vue b/src/views/duty/dutyPlan/components/door-list.vue
index 37fc5da..2392f27 100644
--- a/src/views/duty/dutyPlan/components/door-list.vue
+++ b/src/views/duty/dutyPlan/components/door-list.vue
@@ -30,8 +30,8 @@
-
+