@@ -201,6 +200,13 @@ const handleClick = () => {
margin-right: 16px;
}
+ .card-item-body {
+ display: flex;
+ flex-direction: column;
+ flex-grow: 1;
+ width: 0;
+ }
+
.card-state {
position: absolute;
top: 30px;
diff --git a/src/views/notice/Config/index.vue b/src/views/notice/Config/index.vue
index 043206a2..6fe54e10 100644
--- a/src/views/notice/Config/index.vue
+++ b/src/views/notice/Config/index.vue
@@ -47,6 +47,7 @@
Date: Wed, 1 Feb 2023 15:39:13 +0800
Subject: [PATCH 04/13] =?UTF-8?q?feat:=20=E8=A7=86=E9=A2=91=E4=B8=AD?=
=?UTF-8?q?=E5=BF=83=E9=A6=96=E9=A1=B5=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/home/components/StepCard.vue | 9 ++-
src/views/media/DashBoard/index.less | 38 +++++++++
src/views/media/DashBoard/index.vue | 7 ++
src/views/media/Home/index.vue | 104 +++++++++++++++++++++++++
src/views/media/Home/typings.d.ts | 24 ++++++
5 files changed, 179 insertions(+), 3 deletions(-)
create mode 100644 src/views/media/DashBoard/index.less
create mode 100644 src/views/media/DashBoard/index.vue
create mode 100644 src/views/media/Home/index.vue
create mode 100644 src/views/media/Home/typings.d.ts
diff --git a/src/views/home/components/StepCard.vue b/src/views/home/components/StepCard.vue
index 661de226..fdeabe9d 100644
--- a/src/views/home/components/StepCard.vue
+++ b/src/views/home/components/StepCard.vue
@@ -117,11 +117,14 @@ const objToParams = (source: object): string => {
}
.box-list {
- grid-template-columns: repeat(5, 1fr);
- display: grid;
- grid-column-gap: 66px;
+ // grid-template-columns: repeat(5, 1fr);
+ // display: grid;
+ // grid-column-gap: 66px;
+ display: flex;
+ gap: 66px;
.list-item {
+ flex: 1;
position: relative;
.box-top {
position: relative;
diff --git a/src/views/media/DashBoard/index.less b/src/views/media/DashBoard/index.less
new file mode 100644
index 00000000..870c54fe
--- /dev/null
+++ b/src/views/media/DashBoard/index.less
@@ -0,0 +1,38 @@
+.media-dash-board {
+ .top-card-items {
+ margin-bottom: 12px;
+
+ .top-card-item {
+ width: 25%;
+ padding: 6px 24px;
+ border: 1px solid #e3e3e3;
+
+ .top-card-top {
+ display: flex;
+ padding: 12px 0;
+
+ .top-card-top-left {
+ width: 80px;
+ }
+
+ .top-card-top-right {
+ .top-card-total {
+ font-weight: bold;
+ font-size: 20px;
+ }
+ }
+ }
+
+ .top-card-bottom {
+ display: flex;
+ justify-content: space-between;
+ padding: 12px 0;
+ border-top: 1px solid #e3e3e3;
+ }
+ }
+ }
+
+ .media-dash-board-body {
+ border: 1px solid #f0f0f0;
+ }
+}
diff --git a/src/views/media/DashBoard/index.vue b/src/views/media/DashBoard/index.vue
new file mode 100644
index 00000000..0bd9d297
--- /dev/null
+++ b/src/views/media/DashBoard/index.vue
@@ -0,0 +1,7 @@
+
+ 仪表盘
+
+
+
+
+
diff --git a/src/views/media/Home/index.vue b/src/views/media/Home/index.vue
new file mode 100644
index 00000000..1de094fd
--- /dev/null
+++ b/src/views/media/Home/index.vue
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/media/Home/typings.d.ts b/src/views/media/Home/typings.d.ts
new file mode 100644
index 00000000..995964b8
--- /dev/null
+++ b/src/views/media/Home/typings.d.ts
@@ -0,0 +1,24 @@
+type BaseItem = {
+ id: string;
+ name: string;
+};
+type State = {
+ value: string;
+ text: string;
+};
+
+export type DeviceItem = {
+ photoUrl?: string;
+ channelNumber: number;
+ createTime: number;
+ firmware: string;
+ gatewayId: string;
+ host: string;
+ manufacturer: string;
+ model: string;
+ port: number;
+ provider: string;
+ state: State;
+ streamMode: string;
+ transport: string;
+} & BaseItem;
From 6879397b778d540f71fa0244c45c923178700d65 Mon Sep 17 00:00:00 2001
From: jackhoo_98
Date: Wed, 1 Feb 2023 15:52:15 +0800
Subject: [PATCH 05/13] =?UTF-8?q?fix:=20=E5=A4=84=E7=90=86=E6=90=9C?=
=?UTF-8?q?=E7=B4=A2=E7=9A=84=E7=89=B9=E6=AE=8A=E5=8F=82=E6=95=B0column?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/comm.ts | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/src/utils/comm.ts b/src/utils/comm.ts
index e7b4363f..26d09dd9 100644
--- a/src/utils/comm.ts
+++ b/src/utils/comm.ts
@@ -76,3 +76,23 @@ export function getSlotVNode(slots: Slots, props: Record, pr
}
return (props[prop] || slots[prop]?.()) as T;
}
+
+
+/**
+ * 修改Select参数column的值
+ * @param e // 查询参数 e
+ * @param column {Object} {需要修改的值: 修改后的值}
+ * {
+ username: 'context.username',
+ }
+ */
+export const modifySearchColumnValue = (e: any, column: object) => {
+ e.terms.forEach((item: any) => {
+ item.terms.forEach((t: any) => {
+ if (column[t.column]) {
+ t.column = column[t.column];
+ }
+ });
+ });
+ return e;
+};
\ No newline at end of file
From 59e4bacd74833abf5725590af5d41a8133df51c3 Mon Sep 17 00:00:00 2001
From: JiangQiming <291854119@qq.com>
Date: Wed, 1 Feb 2023 15:59:53 +0800
Subject: [PATCH 06/13] =?UTF-8?q?feat:=20=E5=9F=BA=E7=A1=80=E7=BB=9F?=
=?UTF-8?q?=E8=AE=A1=E7=BB=84=E4=BB=B6=E5=B0=81=E8=A3=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/media/home.ts | 9 ++
.../media/Home/components/BasicCountCard.vue | 117 ++++++++++++++++++
src/views/media/Home/index.vue | 4 +-
3 files changed, 128 insertions(+), 2 deletions(-)
create mode 100644 src/api/media/home.ts
create mode 100644 src/views/media/Home/components/BasicCountCard.vue
diff --git a/src/api/media/home.ts b/src/api/media/home.ts
new file mode 100644
index 00000000..8385fd80
--- /dev/null
+++ b/src/api/media/home.ts
@@ -0,0 +1,9 @@
+import server from '@/utils/request'
+
+export default {
+ // 设备数量
+ deviceCount: () => server.get(`/media/device/_count`),
+ // 通道数量
+ channelCount: () => server.post(`/media/channel/_count`),
+
+}
\ No newline at end of file
diff --git a/src/views/media/Home/components/BasicCountCard.vue b/src/views/media/Home/components/BasicCountCard.vue
new file mode 100644
index 00000000..024f1b19
--- /dev/null
+++ b/src/views/media/Home/components/BasicCountCard.vue
@@ -0,0 +1,117 @@
+
+
+
+ 基础统计
+
+
+ 详情
+
+
+
+
+
设备数量
+
{{ deviceCount }}
+

+
+
+
通道数量
+
{{ channelCount }}
+

+
+
+
+
+
+
+
+
diff --git a/src/views/media/Home/index.vue b/src/views/media/Home/index.vue
index 1de094fd..a0f26df9 100644
--- a/src/views/media/Home/index.vue
+++ b/src/views/media/Home/index.vue
@@ -8,7 +8,7 @@
/>
-
+
@@ -26,9 +26,9 @@
diff --git a/src/views/Log/System/index.vue b/src/views/Log/System/index.vue
new file mode 100644
index 00000000..982cc922
--- /dev/null
+++ b/src/views/Log/System/index.vue
@@ -0,0 +1,246 @@
+
+
+
+
+
+
+ {{ slotProps.level }}
+
+
+
+ {{ moment(slotProps.createTime).format('YYYY-MM-DD HH:mm:ss') }}
+
+
+ {{ slotProps.context.server }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [{{ descriptionsData?.threadName }}]
+ {{
+ moment(descriptionsData?.createTime).format(
+ 'YYYY-MM-DD HH:mm:ss',
+ )
+ }}
+ {{ descriptionsData?.className }}
+
+
+
+ {{ descriptionsData?.level }}
+
+
{{ descriptionsData?.message }}
+
+
+
+
+
+
+
diff --git a/src/views/Log/index.vue b/src/views/Log/index.vue
new file mode 100644
index 00000000..9193b21f
--- /dev/null
+++ b/src/views/Log/index.vue
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
diff --git a/src/views/Log/typings.d.ts b/src/views/Log/typings.d.ts
new file mode 100644
index 00000000..bccebed0
--- /dev/null
+++ b/src/views/Log/typings.d.ts
@@ -0,0 +1,31 @@
+export type AccessLogItem = {
+ id: string;
+ context: any;
+ describe: string;
+ exception: string;
+ httpHeaders: any;
+ httpMethod: string;
+ ip: string;
+ method: string;
+ parameters: any;
+ requestTime: number;
+ responseTime: number;
+ target: string;
+ url: string;
+ action: string;
+};
+
+export type SystemLogItem = {
+ id: string;
+ className: string;
+ context: any;
+ createTime: number;
+ exceptionStack: string;
+ level: string;
+ lineNumber: number;
+ message: string;
+ methodName: string;
+ name: string;
+ threadId: string;
+ threadName: string;
+};
diff --git a/src/views/link/Log/Access/index.vue b/src/views/link/Log/Access/index.vue
deleted file mode 100644
index 9c87e8c8..00000000
--- a/src/views/link/Log/Access/index.vue
+++ /dev/null
@@ -1,6 +0,0 @@
-
- 访问日志
-
-
diff --git a/src/views/link/Log/System/index.vue b/src/views/link/Log/System/index.vue
deleted file mode 100644
index 1fd97c0d..00000000
--- a/src/views/link/Log/System/index.vue
+++ /dev/null
@@ -1,6 +0,0 @@
-
- 系统日志
-
-
diff --git a/src/views/link/Log/index.vue b/src/views/link/Log/index.vue
deleted file mode 100644
index 4fbaf127..00000000
--- a/src/views/link/Log/index.vue
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
From 1eda294d480eba1f8a369acdef03daca7d27615f Mon Sep 17 00:00:00 2001
From: JiangQiming <291854119@qq.com>
Date: Wed, 1 Feb 2023 17:34:15 +0800
Subject: [PATCH 08/13] =?UTF-8?q?feat:=20=E8=A7=86=E9=A2=91=E4=B8=AD?=
=?UTF-8?q?=E5=BF=83=E4=BB=AA=E8=A1=A8=E7=9B=98=E5=8D=A1=E7=89=87=E7=BB=84?=
=?UTF-8?q?=E4=BB=B6=E5=B0=81=E8=A3=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/media/dashboard.ts | 10 ++
src/views/media/DashBoard/components/Card.vue | 7 ++
.../media/DashBoard/components/TopCard.vue | 94 +++++++++++++++++++
src/views/media/DashBoard/index.vue | 92 +++++++++++++++++-
src/views/media/DashBoard/typings.d.ts | 16 ++++
.../media/Home/components/BasicCountCard.vue | 5 +-
6 files changed, 219 insertions(+), 5 deletions(-)
create mode 100644 src/api/media/dashboard.ts
create mode 100644 src/views/media/DashBoard/components/Card.vue
create mode 100644 src/views/media/DashBoard/components/TopCard.vue
create mode 100644 src/views/media/DashBoard/typings.d.ts
diff --git a/src/api/media/dashboard.ts b/src/api/media/dashboard.ts
new file mode 100644
index 00000000..9e8a2e40
--- /dev/null
+++ b/src/api/media/dashboard.ts
@@ -0,0 +1,10 @@
+import server from '@/utils/request'
+import type { Agg, AggPlaying } from '@/views/media/DashBoard/typings'
+
+export default {
+ // 录像数量
+ agg: () => server.get(`/media/record/file/agg`),
+ // 播放中数量
+ aggPlaying: () => server.get(`/media/channel/playing/agg`),
+
+}
\ No newline at end of file
diff --git a/src/views/media/DashBoard/components/Card.vue b/src/views/media/DashBoard/components/Card.vue
new file mode 100644
index 00000000..498d600a
--- /dev/null
+++ b/src/views/media/DashBoard/components/Card.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/src/views/media/DashBoard/components/TopCard.vue b/src/views/media/DashBoard/components/TopCard.vue
new file mode 100644
index 00000000..8e7469a4
--- /dev/null
+++ b/src/views/media/DashBoard/components/TopCard.vue
@@ -0,0 +1,94 @@
+
+
+
+
+
+
{{ title }}
+
+
+ {{ tooltip }}
+
+
+
+
+
{{ value }}
+
+
+
![]()
+
+
+
+
+
+
+
+
+
diff --git a/src/views/media/DashBoard/index.vue b/src/views/media/DashBoard/index.vue
index 0bd9d297..94dcb0f2 100644
--- a/src/views/media/DashBoard/index.vue
+++ b/src/views/media/DashBoard/index.vue
@@ -1,7 +1,93 @@
- 仪表盘
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
diff --git a/src/views/media/DashBoard/typings.d.ts b/src/views/media/DashBoard/typings.d.ts
new file mode 100644
index 00000000..2a2a62f2
--- /dev/null
+++ b/src/views/media/DashBoard/typings.d.ts
@@ -0,0 +1,16 @@
+export type Agg = {
+ duration: number
+ total: number
+}
+
+export type AggPlaying = {
+ playerTotal: number
+ playingTotal: number
+}
+
+export type Footer = {
+ title: string;
+ value: number;
+ status?: "default" | "error" | "success" | "warning" | "processing"
+}
+
diff --git a/src/views/media/Home/components/BasicCountCard.vue b/src/views/media/Home/components/BasicCountCard.vue
index 024f1b19..53cb6d36 100644
--- a/src/views/media/Home/components/BasicCountCard.vue
+++ b/src/views/media/Home/components/BasicCountCard.vue
@@ -13,12 +13,12 @@
设备数量
{{ deviceCount }}
-

+
通道数量
{{ channelCount }}
-

+
@@ -26,6 +26,7 @@
\ No newline at end of file
diff --git a/src/views/device/Instance/Detail/Info/components/Config/index.vue b/src/views/device/Instance/Detail/Info/components/Config/index.vue
index 4d7b0d78..6909b405 100644
--- a/src/views/device/Instance/Detail/Info/components/Config/index.vue
+++ b/src/views/device/Instance/Detail/Info/components/Config/index.vue
@@ -1,6 +1,6 @@