From 1259bce460f41ef166e4bb25a81690bcfd457e1b Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 03 四月 2024 11:43:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/views/system/video/index.vue | 62 ++++----
src/views/system/recovery/index.vue | 78 +++++++---
src/views/system/face/index.vue | 70 ++++++---
src/views/screen/components/screen-table/index.vue | 90 ++++++++++--
src/api/platform/monitor.js | 16 ++
src/views/system/car/index.vue | 69 ++++++---
src/views/system/report/index.vue | 24 +++
7 files changed, 289 insertions(+), 120 deletions(-)
diff --git a/src/api/platform/monitor.js b/src/api/platform/monitor.js
index d3f6317..b2f006f 100644
--- a/src/api/platform/monitor.js
+++ b/src/api/platform/monitor.js
@@ -9,6 +9,22 @@
})
}
+// 鏌ヨ璁惧璧勪骇缁熻鏁�
+export function videoCount(type) {
+ return request({
+ url: '/system/monitor/getVideoCount/' + type,
+ method: 'get'
+ })
+}
+
+// 鏌ヨ寮傚父鎭㈠璁惧璧勪骇缁熻鏁�
+export function recoveryException() {
+ return request({
+ url: '/system/monitor/recoveryException',
+ method: 'get'
+ })
+}
+
// 鏌ヨ璁惧璧勪骇璇︾粏
export function getMonitor(id) {
return request({
diff --git a/src/views/screen/components/screen-table/index.vue b/src/views/screen/components/screen-table/index.vue
index df8fd27..52fe9ee 100644
--- a/src/views/screen/components/screen-table/index.vue
+++ b/src/views/screen/components/screen-table/index.vue
@@ -4,23 +4,59 @@
<el-table :data="tableData" border :height="tableHeight" :max-height="tableHeight" class="rank-table">
<el-table-column prop="name" label="鍦板尯" align="center" width="100">
</el-table-column>
- <el-table-column label="浜鸿劯璁惧" align="center">
- <el-table-column prop="data1" label="璁惧姝e父鏁�" align="center">
- </el-table-column>
- <el-table-column prop="data1" label="璁惧寮傚父鏁�" align="center">
- </el-table-column>
+
+ <el-table-column label="浜鸿劯璁惧姝e父鐜�" align="center">
+ <template slot-scope="scope">
+ <el-tooltip placement="top">
+ <div slot="content">
+ <div class="tip-item">
+ <div class="tip-label">璁惧姝e父鏁�:</div>
+ <div class="tip-info tip-success">12</div>
+ </div>
+ <div class="tip-item">
+ <div class="tip-label">璁惧寮傚父鏁�:</div>
+ <div class="tip-info tip-danger">12</div>
+ </div>
+ </div>
+ <div class="tip-num">75%</div>
+ </el-tooltip>
+ </template>
</el-table-column>
- <el-table-column label="杞﹁締璁惧" align="center">
- <el-table-column prop="data1" label="璁惧姝e父鏁�" align="center">
- </el-table-column>
- <el-table-column prop="data1" label="璁惧寮傚父鏁�" align="center">
- </el-table-column>
+
+ <el-table-column label="杞﹁締璁惧姝e父鐜�" align="center">
+ <template slot-scope="scope">
+ <el-tooltip placement="top">
+ <div slot="content">
+ <div class="tip-item">
+ <div class="tip-label">璁惧姝e父鏁�:</div>
+ <div class="tip-info tip-success">12</div>
+ </div>
+ <div class="tip-item">
+ <div class="tip-label">璁惧寮傚父鏁�:</div>
+ <div class="tip-info tip-danger">12</div>
+ </div>
+ </div>
+ <div class="tip-num">75%</div>
+ </el-tooltip>
+ </template>
</el-table-column>
- <el-table-column label="瑙嗛璁惧" align="center">
- <el-table-column prop="data1" label="璁惧姝e父鏁�" align="center">
- </el-table-column>
- <el-table-column prop="data1" label="璁惧寮傚父鏁�" align="center">
- </el-table-column>
+
+ <el-table-column label="瑙嗛璁惧姝e父鐜�" align="center">
+ <template slot-scope="scope">
+ <el-tooltip placement="top">
+ <div slot="content">
+ <div class="tip-item">
+ <div class="tip-label">璁惧姝e父鏁�:</div>
+ <div class="tip-info tip-success">12</div>
+ </div>
+ <div class="tip-item">
+ <div class="tip-label">璁惧寮傚父鏁�:</div>
+ <div class="tip-info tip-danger">12</div>
+ </div>
+ </div>
+ <div class="tip-num">75%</div>
+ </el-tooltip>
+ </template>
</el-table-column>
</el-table>
</div>
@@ -165,4 +201,28 @@
::v-deep .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell {
background-color: #447ed648;
}
+
+.tip-item {
+ display: flex;
+ align-items: center;
+ margin-bottom: 10px;
+ font-size: 16px;
+
+ &:last-of-type {
+ margin-bottom: 0;
+ }
+
+ .tip-label {
+ color: #5b83bd;
+ margin-right: 10px;
+ }
+
+ .tip-success {
+ color: #0cd81d;
+ }
+
+ .tip-danger {
+ color: #e20c0c;
+ }
+}
</style>
\ No newline at end of file
diff --git a/src/views/system/car/index.vue b/src/views/system/car/index.vue
index 8f9ba87..4df65e2 100644
--- a/src/views/system/car/index.vue
+++ b/src/views/system/car/index.vue
@@ -10,27 +10,27 @@
<el-col :xl="14" :lg="14" :md="12" :sm="14" :xs="16">
<div class="dashboard">
<div class="dashboard-item">
- <h3 style="color: #5C9BF8">{{ totalPosts }}</h3>
+ <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3>
<p>璁惧鎬绘暟</p >
</div>
<div class="dashboard-item">
- <h3 style="color: #3eba45">{{ totalMembers }}</h3>
+ <h3 style="color: #3eba45">{{ count.totalMembers }}</h3>
<p>姝e父鏁�</p >
</div>
<div class="dashboard-item">
- <h3 style="color: #fe640d">{{ postsPercentage }}</h3>
+ <h3 style="color: #fe640d">{{ count.postsPercentage }}</h3>
<p>寮傚父鏁�</p >
</div>
<div class="dashboard-item">
- <h3>{{ totalViews }}</h3>
+ <h3>{{ count.totalViews }}</h3>
<p>鐢熸垚寮傚父宸ュ崟鏁�</p >
</div>
<div class="dashboard-item">
- <h3>{{ totalCar }}</h3>
+ <h3>{{ count.totalCar }}</h3>
<p>杩囪溅鏁版嵁鎬婚噺</p >
</div>
<div class="dashboard-item">
- <h3>{{ viewsPercentage }}%</h3>
+ <h3>{{ count.viewsPercentage }}%</h3>
<p>璁惧杩愯鐜�</p >
</div>
</div>
@@ -110,29 +110,29 @@
@click="handleExport"
>瀵煎嚭</el-button>
</el-col>
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="monitorList" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" />
<el-table-column label="璁惧鍚嶇О" align="center" prop="name" width="280" fixed/>
<el-table-column label="璁惧缂栫爜" align="center" prop="serialNumber" width="180"/>
- <el-table-column label="鏍囩" align="center" prop="publicSecurity" width="180"/>
- <el-table-column label="鍖哄煙" align="center" prop="address" width="180"/>
- <el-table-column label="璁惧鐘舵��" align="center" prop="onState">
+ <el-table-column label="鏍囩" align="center" prop="publicSecurity" width="180" v-if="columns[0].visible"/>
+ <el-table-column label="鍖哄煙" align="center" prop="address" width="180" v-if="columns[1].visible"/>
+ <el-table-column label="璁惧鐘舵��" align="center" prop="onState" v-if="columns[2].visible">
<template slot-scope="scope">
<dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
</template>
</el-table-column>
- <el-table-column label="鏄惁鐢熸垚寮傚父宸ュ崟" align="center" prop="defaultOrder" width="180">
+ <el-table-column label="鏄惁鐢熸垚寮傚父宸ュ崟" align="center" prop="defaultOrder" width="180" v-if="columns[3].visible">
<template slot-scope="scope">
<dict-tag :options="dict.type.platform_yes_no" :value="scope.row.defaultOrder"/>
</template>
</el-table-column>
- <el-table-column label="鏁版嵁鏃堕棿" align="center" prop="installedTime" width="180"/>
- <el-table-column label="绠$悊鍗曚綅" align="center" prop="managementUnit" width="180"/>
- <el-table-column label="杩囪溅鏁版嵁閲�" align="center" prop="model" width="180"/>
- <el-table-column label="鎸佺画鏃犳暟鎹ぉ鏁�" align="center" prop="recovery" width="180"/>
+ <el-table-column label="鏁版嵁鏃堕棿" align="center" prop="installedTime" width="180" v-if="columns[4].visible"/>
+ <el-table-column label="绠$悊鍗曚綅" align="center" prop="managementUnit" width="180" v-if="columns[5].visible"/>
+ <el-table-column label="杩囪溅鏁版嵁閲�" align="center" prop="a" width="180" v-if="columns[6].visible"/>
+ <el-table-column label="鎸佺画鏃犳暟鎹ぉ鏁�" align="center" prop="a" width="180" v-if="columns[7].visible"/>
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button
@@ -182,10 +182,10 @@
<el-form-item label="绠$悊鍗曚綅锛�">{{ form.managementUnit }}</el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="杩囪溅鏁版嵁閲忥細">{{ form.model }}</el-form-item>
+ <el-form-item label="杩囪溅鏁版嵁閲忥細">{{ form.a }}</el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="鎸佺画鏃犳暟鎹ぉ鏁帮細">{{ form.recovery }}</el-form-item>
+ <el-form-item label="鎸佺画鏃犳暟鎹ぉ鏁帮細">{{ form.a }}</el-form-item>
</el-col>
</el-row>
</el-form>
@@ -197,19 +197,32 @@
</template>
<script>
-import { listMonitor, getMonitor, delMonitor, addMonitor, updateMonitor } from "@/api/platform/monitor";
+import { videoCount, listMonitor, getMonitor, delMonitor, addMonitor, updateMonitor } from "@/api/platform/monitor";
export default {
name: "Monitor",
dicts: ['sys_normal_disable','platform_yes_no','camera_state'],
data() {
return {
- totalPosts: 1156,
- totalMembers: 931,
- postsPercentage: 182,
- totalViews: 43,
- viewsPercentage: 80.53,
- totalCar: 2098530,
+ // 鍒椾俊鎭�
+ columns: [
+ { key: 0, label: `鏍囩`, visible: true },
+ { key: 1, label: `鍖哄煙`, visible: true },
+ { key: 2, label: `璁惧鐘舵�乣, visible: true },
+ { key: 3, label: `鏄惁鐢熸垚寮傚父宸ュ崟`, visible: true },
+ { key: 4, label: `鏁版嵁鏃堕棿`, visible: true },
+ { key: 5, label: `绠$悊鍗曚綅`, visible: true },
+ { key: 6, label: `杩囪溅鏁版嵁閲廯, visible: true },
+ { key: 7, label: `鎸佺画鏃犳暟鎹ぉ鏁癭, visible: true },
+ ],
+ count: {
+ totalPosts: 0,
+ totalMembers: 0,
+ postsPercentage: 0,
+ totalViews: 0,
+ viewsPercentage: 0,
+ totalCar: 0,
+ },
// 閬僵灞�
loading: true,
// 閫変腑鏁扮粍
@@ -261,6 +274,7 @@
};
},
created() {
+ this.getVideoCount();
this.getList();
},
methods: {
@@ -271,6 +285,12 @@
this.monitorList = response.rows;
this.total = response.total;
this.loading = false;
+ });
+ },
+ /** 鏌ヨ璁惧璧勪骇缁熻鏁� */
+ getVideoCount() {
+ videoCount('2').then(response => {
+ this.count = response.data;
});
},
// 鍙栨秷鎸夐挳
@@ -301,6 +321,7 @@
this.queryParams.pageNum = 1;
this.queryParams.cameraFunType = 2;
this.getList();
+ this.getVideoCount();
},
/** 閲嶇疆鎸夐挳鎿嶄綔 */
resetQuery() {
diff --git a/src/views/system/face/index.vue b/src/views/system/face/index.vue
index 2755297..d571bbc 100644
--- a/src/views/system/face/index.vue
+++ b/src/views/system/face/index.vue
@@ -10,27 +10,27 @@
<el-col :xl="14" :lg="14" :md="12" :sm="14" :xs="16">
<div class="dashboard">
<div class="dashboard-item">
- <h3 style="color: #5C9BF8">{{ totalPosts }}</h3>
+ <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3>
<p>璁惧鎬绘暟</p >
</div>
<div class="dashboard-item">
- <h3 style="color: #3eba45">{{ totalMembers }}</h3>
+ <h3 style="color: #3eba45">{{ count.totalMembers }}</h3>
<p>姝e父鏁�</p >
</div>
<div class="dashboard-item">
- <h3 style="color: #fe640d">{{ postsPercentage }}</h3>
+ <h3 style="color: #fe640d">{{ count.postsPercentage }}</h3>
<p>寮傚父鏁�</p >
</div>
<div class="dashboard-item">
- <h3>{{ totalOrders }}</h3>
+ <h3>{{ count.totalViews }}</h3>
<p>鐢熸垚寮傚父宸ュ崟鏁�</p >
</div>
<div class="dashboard-item">
- <h3>{{ totalViews }}</h3>
+ <h3>{{ count.totalFace }}</h3>
<p>鎶撴媿鏁版嵁鎬婚噺</p >
</div>
<div class="dashboard-item">
- <h3>{{ viewsPercentage }}%</h3>
+ <h3>{{ count.viewsPercentage }}%</h3>
<p>璁惧杩愯鐜�</p >
</div>
</div>
@@ -109,29 +109,29 @@
@click="handleExport"
>瀵煎嚭</el-button>
</el-col>
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="monitorList" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" />
<el-table-column label="璁惧鍚嶇О" align="center" prop="name" width="280" fixed/>
<el-table-column label="璁惧缂栫爜" align="center" prop="serialNumber" width="180"/>
- <el-table-column label="鏍囩" align="center" prop="publicSecurity" width="180"/>
- <el-table-column label="鍖哄煙" align="center" prop="address" width="180"/>
- <el-table-column label="璁惧鐘舵��" align="center" prop="onState">
+ <el-table-column label="鏍囩" align="center" prop="publicSecurity" width="180" v-if="columns[0].visible"/>
+ <el-table-column label="鍖哄煙" align="center" prop="address" width="180" v-if="columns[1].visible"/>
+ <el-table-column label="璁惧鐘舵��" align="center" prop="onState" v-if="columns[2].visible">
<template slot-scope="scope">
<dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
</template>
</el-table-column>
- <el-table-column label="鏄惁鐢熸垚寮傚父宸ュ崟" align="center" prop="defaultOrder" width="180">
+ <el-table-column label="鏄惁鐢熸垚寮傚父宸ュ崟" align="center" prop="defaultOrder" width="180" v-if="columns[3].visible">
<template slot-scope="scope">
<dict-tag :options="dict.type.platform_yes_no" :value="scope.row.defaultOrder"/>
</template>
</el-table-column>
- <el-table-column label="鏁版嵁鏃堕棿" align="center" prop="installedTime" width="180"/>
- <el-table-column label="绠$悊鍗曚綅" align="center" prop="managementUnit" width="180"/>
- <el-table-column label="鎶撴媿閲�" align="center" prop="model" width="180"/>
- <el-table-column label="鎸佺画鏃犳暟鎹ぉ鏁�" align="center" prop="recovery" width="180"/>
+ <el-table-column label="鏁版嵁鏃堕棿" align="center" prop="installedTime" width="180" v-if="columns[4].visible"/>
+ <el-table-column label="绠$悊鍗曚綅" align="center" prop="managementUnit" width="180" v-if="columns[5].visible"/>
+ <el-table-column label="鎶撴媿閲�" align="center" prop="a" width="180" v-if="columns[6].visible"/>
+ <el-table-column label="鎸佺画鏃犳暟鎹ぉ鏁�" align="center" prop="a" width="180" v-if="columns[7].visible"/>
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button
@@ -222,10 +222,10 @@
<el-form-item label="绠$悊鍗曚綅锛�">{{ form.managementUnit }}</el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="鎶撴媿閲忥細">{{ form.model }}</el-form-item>
+ <el-form-item label="鎶撴媿閲忥細"></el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="鎸佺画鏃犳暟鎹ぉ鏁帮細">{{ form.recovery }}</el-form-item>
+ <el-form-item label="鎸佺画鏃犳暟鎹ぉ鏁帮細"></el-form-item>
</el-col>
</el-row>
</el-form>
@@ -237,20 +237,32 @@
</template>
<script>
-import { listMonitor, getMonitor, delMonitor, addMonitor, updateMonitor } from "@/api/platform/monitor";
+import { videoCount, listMonitor, getMonitor, delMonitor, addMonitor, updateMonitor } from "@/api/platform/monitor";
export default {
name: "Monitor",
dicts: ['sys_normal_disable','platform_yes_no','camera_state'],
data() {
return {
- totalPosts: 1490,
- totalMembers: 1090,
- postsPercentage: 319,
- totalViews: 1200164,
- totalOrders: 81,
- viewsPercentage: 73.15,
- totalErrors: 0,
+ // 鍒椾俊鎭�
+ columns: [
+ { key: 0, label: `鏍囩`, visible: true },
+ { key: 1, label: `鍖哄煙`, visible: true },
+ { key: 2, label: `璁惧鐘舵�乣, visible: true },
+ { key: 3, label: `鏄惁鐢熸垚寮傚父宸ュ崟`, visible: true },
+ { key: 4, label: `鏁版嵁鏃堕棿`, visible: true },
+ { key: 5, label: `绠$悊鍗曚綅`, visible: true },
+ { key: 6, label: `鎶撴媿閲廯, visible: true },
+ { key: 7, label: `鎸佺画鏃犳暟鎹ぉ鏁癭, visible: true }
+ ],
+ count: {
+ totalPosts: 0,
+ totalMembers: 0,
+ postsPercentage: 0,
+ totalViews: 0,
+ totalFace: 0,
+ viewsPercentage: 0
+ },
// 閬僵灞�
loading: true,
// 閫変腑鏁扮粍
@@ -302,6 +314,7 @@
};
},
created() {
+ this.getVideoCount();
this.getList();
},
methods: {
@@ -312,6 +325,12 @@
this.monitorList = response.rows;
this.total = response.total;
this.loading = false;
+ });
+ },
+ /** 鏌ヨ璁惧璧勪骇缁熻鏁� */
+ getVideoCount() {
+ videoCount('3').then(response => {
+ this.count = response.data;
});
},
// 鍙栨秷鎸夐挳
@@ -337,6 +356,7 @@
this.queryParams.pageNum = 1;
this.queryParams.cameraFunType = 3
this.getList();
+ this.getVideoCount();
},
/** 閲嶇疆鎸夐挳鎿嶄綔 */
resetQuery() {
diff --git a/src/views/system/recovery/index.vue b/src/views/system/recovery/index.vue
index 9ec015a..29912d5 100644
--- a/src/views/system/recovery/index.vue
+++ b/src/views/system/recovery/index.vue
@@ -10,23 +10,23 @@
<el-col :xl="14" :lg="14" :md="12" :sm="14" :xs="16">
<div class="dashboard">
<div class="dashboard-item">
- <h3 style="color: #5C9BF8">{{ totalPosts }}</h3>
+ <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3>
<p>璁惧鎬绘暟</p >
</div>
<div class="dashboard-item">
- <h3 style="color: #3eba45">{{ totalMembers }}</h3>
+ <h3 style="color: #3eba45">{{ count.totalMembers }}</h3>
<p>姝e父鏁�</p >
</div>
<div class="dashboard-item">
- <h3 style="color: #fe640d">{{ postsPercentage }}</h3>
+ <h3 style="color: #fe640d">{{ count.postsPercentage }}</h3>
<p>寮傚父鏁�</p >
</div>
<div class="dashboard-item">
- <h3>{{ totalViews }}</h3>
+ <h3>{{ count.totalViews }}</h3>
<p>鐢熸垚寮傚父宸ュ崟鏁�</p >
</div>
<div class="dashboard-item">
- <h3>{{ viewsPercentage }}%</h3>
+ <h3>{{ count.viewsPercentage }}%</h3>
<p>璁惧杩愯鐜�</p >
</div>
</div>
@@ -34,7 +34,7 @@
</el-row>
</el-card>
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="鍏抽敭瀛�" prop="name">
<el-input
v-model="queryParams.name"
@@ -59,6 +59,17 @@
<el-option label="瀵岄『鍘�" value="瀵岄『鍘�"/>
</el-select>
</el-form-item>
+ <el-form-item label="鐩戞帶绫诲瀷" prop="onState">
+ <el-select
+ v-model="queryParams.cameraFunType"
+ placeholder="璇烽�夋嫨鐩戞帶绫诲瀷"
+ clearable
+ >
+ <el-option label="瑙嗛鐩戞帶" value="1"/>
+ <el-option label="杞﹁締璇嗗埆" value="2"/>
+ <el-option label="浜哄憳璇嗗埆" value="3"/>
+ </el-select>
+ </el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
@@ -76,33 +87,29 @@
@click="handleExport"
>瀵煎嚭</el-button>
</el-col>
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="monitorList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="璁惧鍚嶇О" align="center" prop="name" />
<el-table-column label="璁惧缂栫爜" align="center" prop="serialNumber" width="180px" />
- <el-table-column label="鏍囩" align="center" prop="tag" >
- {{"鐪佸巺鑰冩牳"}}
- </el-table-column>
- <el-table-column label="鍖哄煙" align="center" prop="region" >
- {{"澶у畨鍖�"}}
- </el-table-column>
- <el-table-column label="璁惧鐘舵��" align="center" prop="onState">
+ <el-table-column label="鏍囩" align="center" prop="publicSecurity" v-if="columns[0].visible" />
+ <el-table-column label="鍖哄煙" align="center" prop="address" v-if="columns[1].visible"/>
+ <el-table-column label="璁惧鐘舵��" align="center" prop="onState" v-if="columns[2].visible">
<template slot-scope="scope">
<dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
</template>
</el-table-column>
- <el-table-column label="鏄惁鐢熸垚寮傚父宸ュ崟" align="center" prop="defaultOrder">
+ <el-table-column label="鏄惁鐢熸垚寮傚父宸ュ崟" align="center" prop="defaultOrder" v-if="columns[3].visible">
<template slot-scope="scope">
<dict-tag :options="dict.type.platform_yes_no" :value="scope.row.defaultOrder"/>
</template>
</el-table-column>
- <el-table-column label="寮傚父鍘熷洜" align="center" prop="reason" />
- <el-table-column label="寮傚父鎭㈠鏃堕棿" align="center" prop="recoveryTime" width="180">
+ <el-table-column label="寮傚父鍘熷洜" align="center" prop="reason" v-if="columns[4].visible" />
+ <el-table-column label="寮傚父鎭㈠鏃堕棿" align="center" prop="recoveryTime" width="180" v-if="columns[5].visible">
</el-table-column>
- <el-table-column label="绠$悊鍗曚綅" align="center" prop="managementUnit" />
+ <el-table-column label="绠$悊鍗曚綅" align="center" prop="managementUnit" v-if="columns[6].visible" />
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@@ -162,19 +169,31 @@
</template>
<script>
-import { listMonitor, getMonitor, delMonitor, addMonitor, updateMonitor } from "@/api/platform/monitor";
+import { recoveryException, listMonitor, getMonitor, delMonitor, addMonitor, updateMonitor } from "@/api/platform/monitor";
export default {
name: "Monitor",
dicts: ['sys_normal_disable','platform_yes_no','camera_state'],
data() {
return {
- totalPosts: 8896,
- totalMembers: 8029,
- postsPercentage: 382,
- totalViews: 141,
- viewsPercentage: 90.25,
- totalErrors: 0,
+ // 鍒椾俊鎭�
+ columns: [
+ { key: 0, label: `鏍囩`, visible: true },
+ { key: 1, label: `鍖哄煙`, visible: true },
+ { key: 2, label: `璁惧鐘舵�乣, visible: true },
+ { key: 3, label: `鏄惁鐢熸垚寮傚父宸ュ崟`, visible: true },
+ { key: 4, label: `寮傚父鍘熷洜`, visible: true },
+ { key: 5, label: `寮傚父鎭㈠鏃堕棿`, visible: true },
+ { key: 6, label: `绠$悊鍗曚綅`, visible: true },
+ ],
+ count: {
+ totalPosts: 0,
+ totalMembers: 0,
+ postsPercentage: 0,
+ totalViews: 0,
+ viewsPercentage: 0,
+ totalErrors: 0,
+ },
// 閬僵灞�
loading: true,
// 閫変腑鏁扮粍
@@ -205,6 +224,7 @@
managementUnit: null,
defaultOrder: null,
recovery: 1,
+ cameraFunType: null
},
// 琛ㄥ崟鍙傛暟
form: {},
@@ -227,6 +247,7 @@
},
created() {
this.getList();
+ this.getVideoCount();
},
methods: {
/** 鏌ヨ璁惧璧勪骇鍒楄〃 */
@@ -236,6 +257,12 @@
this.monitorList = response.rows;
this.total = response.total;
this.loading = false;
+ });
+ },
+ /** 鏌ヨ寮傚父鎭㈠璁惧缁熻鏁� */
+ getVideoCount() {
+ recoveryException().then(response => {
+ this.count = response.data;
});
},
// 鍙栨秷鎸夐挳
@@ -266,6 +293,7 @@
this.queryParams.pageNum = 1;
this.queryParams.recovery = 1
this.getList();
+ this.getVideoCount();
},
/** 閲嶇疆鎸夐挳鎿嶄綔 */
resetQuery() {
diff --git a/src/views/system/report/index.vue b/src/views/system/report/index.vue
index 6f360b9..0a7e73b 100644
--- a/src/views/system/report/index.vue
+++ b/src/views/system/report/index.vue
@@ -149,9 +149,9 @@
:loading="selectLoading">
<el-option
v-for="item in pointList"
- :key="item.value"
- :label="item.label"
- :value="item.value">
+ :key="item.id"
+ :label="item.value"
+ :value="item.id">
</el-option>
</el-select>
</el-form-item>
@@ -167,6 +167,17 @@
<el-option label="璁惧鏁呴殰" value="璁惧鏁呴殰"/>
<el-option label="璁惧閬楀け" value="璁惧閬楀け"/>
</el-select>
+ </el-form-item>
+ <el-form-item label="鏈夋晥鏃堕棿">
+ <el-date-picker
+ v-model="expirTime"
+ style="width: 240px"
+ value-format="yyyy-MM-dd"
+ type="daterange"
+ range-separator="-"
+ start-placeholder="鐢熸晥鏃ユ湡"
+ end-placeholder="澶辨晥鏃ユ湡"
+ ></el-date-picker>
</el-form-item>
<el-form-item label="鎶ュ鍐呭" prop="reportContent">
<editor v-model="form.reportContent" :min-height="192"/>
@@ -252,6 +263,7 @@
open: false,
// 鏁呴殰绫诲瀷鏃堕棿鑼冨洿
daterangeCreateTime: [],
+ expirTime: [],
// 鏁呴殰绫诲瀷鏃堕棿鑼冨洿
daterangeAuditingTime: [],
auditingOpen: false,
@@ -408,6 +420,12 @@
},
/** 鎻愪氦鎸夐挳 */
submitForm() {
+
+ if (null != this.expirTime && '' != this.expirTime) {
+ this.form["beginCreateTime"] = this.expirTime[0];
+ this.form["endCreateTime"] = this.expirTime[1];
+ }
+
// todo 鍒ゆ柇鏄簨鍓嶆姤澶�
this.$refs["form"].validate(valid => {
diff --git a/src/views/system/video/index.vue b/src/views/system/video/index.vue
index f7c179f..22bfe76 100644
--- a/src/views/system/video/index.vue
+++ b/src/views/system/video/index.vue
@@ -12,31 +12,31 @@
<el-col :xl="14" :lg="14" :md="12" :sm="14" :xs="16">
<div class="dashboard">
<div class="dashboard-item">
- <h3 style="color: #5C9BF8">{{ totalPosts }}</h3>
+ <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3>
<p>璁惧鎬绘暟</p >
</div>
<div class="dashboard-item">
- <h3 style="color: #3eba45">{{ totalMembers }}</h3>
+ <h3 style="color: #3eba45">{{ count.totalMembers }}</h3>
<p>姝e父鏁�</p >
</div>
<div class="dashboard-item">
- <h3 style="color: #fe640d">{{ postsPercentage }}</h3>
+ <h3 style="color: #fe640d">{{ count.postsPercentage }}</h3>
<p>寮傚父鏁�</p >
</div>
<div class="dashboard-item">
- <h3>{{ totalViews }}</h3>
+ <h3>{{ count.totalViews }}</h3>
<p>鐢熸垚寮傚父宸ュ崟鏁�</p >
</div>
<div class="dashboard-item">
- <h3>{{ noStore }}</h3>
+ <h3>{{ count.noStore }}</h3>
<p>鏃犲瓨鍌�</p >
</div>
<div class="dashboard-item">
- <h3>{{ partStore }}</h3>
+ <h3>{{ count.partStore }}</h3>
<p>閮ㄥ垎瀛樺偍</p >
</div>
<div class="dashboard-item">
- <h3>{{ viewsPercentage }}%</h3>
+ <h3>{{ count.viewsPercentage }}%</h3>
<p>璁惧杩愯鐜�</p >
</div>
</div>
@@ -44,7 +44,7 @@
</el-row>
</el-card>
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="鍏抽敭瀛�" prop="name">
<el-input
v-model="queryParams.name"
@@ -123,8 +123,8 @@
<el-table-column type="selection" align="center" />
<el-table-column label="璁惧鍚嶇О" align="center" prop="name" width="280" fixed/>
<el-table-column label="璁惧缂栫爜" align="center" prop="serialNumber" width="180"/>
- <el-table-column label="鏍囩" align="center" prop="tag" width="180" v-if="columns[0].visible"/>
- <el-table-column label="鍖哄煙" align="center" prop="region" width="180" v-if="columns[1].visible"/>
+ <el-table-column label="鏍囩" align="center" prop="publicSecurity" width="180" v-if="columns[0].visible"/>
+ <el-table-column label="鍖哄煙" align="center" prop="address" width="180" v-if="columns[1].visible"/>
<el-table-column label="璁惧鐘舵��" align="center" prop="onState" v-if="columns[2].visible">
<template slot-scope="scope">
<dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
@@ -167,21 +167,19 @@
<el-col :span="12">
<el-form-item label="璁惧缂栫爜锛�">{{ form.serialNumber }}</el-form-item>
<el-form-item label="璁惧鍚嶇О锛�">{{ form.name }} </el-form-item>
- <el-form-item label="鏍囩锛�">{{ form.tag }} </el-form-item>
- <el-form-item label="鍖哄煙锛�">{{ form.region }} </el-form-item>
+ <el-form-item label="鍦板尯锛�">{{ form.address }} </el-form-item>
+ <el-form-item label="涓婃姤閮ㄩ棬锛�">{{ form.deptName }} </el-form-item>
<el-form-item label="璁惧鐘舵�侊細">
<div v-if="form.onState === 1">鍙敤</div>
<div v-else-if="form.onState === 2">涓嶅彲鐢�</div>
</el-form-item>
</el-col>
<el-col :span="24">
+ <el-form-item label="鍦板潃锛�">{{ form.address }}</el-form-item>
<el-form-item label="鏄惁鐢熸垚寮傚父宸ュ崟锛�">
<div v-if="form.defaultOrder === 1">鏄�</div>
<div v-else-if="form.defaultOrder === 2">鍚�</div>
</el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="寮傚父鍘熷洜锛�">{{ form.reason }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="瀹夎鏃堕棿锛�">{{ form.installedTime }}</el-form-item>
@@ -190,13 +188,13 @@
<el-form-item label="绠$悊鍗曚綅锛�">{{ form.managementUnit }}</el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="淇′护鏃跺欢(ms)锛�">{{ form.sipDelay }}</el-form-item>
+ <el-form-item label="淇′护鏃跺欢(ms)锛�"></el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="瑙嗛鏃跺欢(ms)锛�">{{ form.videoDelay }}</el-form-item>
+ <el-form-item label="瑙嗛鏃跺欢(ms)锛�"></el-form-item>
</el-col>
<el-col :span="24">
- <el-form-item label="鍏抽敭甯ф椂寤�(ms)锛�">{{ form.iframeDelay }}</el-form-item>
+ <el-form-item label="鍏抽敭甯ф椂寤�(ms)锛�"></el-form-item>
</el-col>
</el-row>
</el-form>
@@ -208,7 +206,7 @@
</template>
<script>
-import { listMonitor, getMonitor, delMonitor, addMonitor, updateMonitor } from "@/api/platform/video-monitor";
+import { videoCount, listMonitor, getMonitor, delMonitor, addMonitor, updateMonitor } from "@/api/platform/monitor";
export default {
name: "Monitor",
dicts: ['sys_normal_disable', 'platform_yes_no','camera_state'],
@@ -226,14 +224,15 @@
{ key: 7, label: `瑙嗛鏃跺欢`, visible: true },
{ key: 8, label: `鍏抽敭甯ф椂寤禶, visible: true }
],
- totalPosts: 6250,
- totalMembers: 6008,
- postsPercentage: 51,
- totalViews: 17,
- noStore: 47,
- partStore: 56,
- viewsPercentage: 96.12,
- totalErrors: 0,
+ count: {
+ totalPosts: 0,
+ totalMembers: 0,
+ postsPercentage: 0,
+ totalViews: 0,
+ noStore: 0,
+ partStore: 0,
+ viewsPercentage: 0
+ },
// 閬僵灞�
loading: true,
// 閫変腑鏁扮粍
@@ -285,9 +284,9 @@
};
},
created() {
+ this.getVideoCount();
this.getList();
this.getCountyList();
-
},
methods: {
/** 鏌ヨ璁惧璧勪骇鍒楄〃 */
@@ -297,6 +296,12 @@
this.monitorList = response.rows;
this.total = response.total;
this.loading = false;
+ });
+ },
+ /** 鏌ヨ璁惧璧勪骇缁熻鏁� */
+ getVideoCount() {
+ videoCount('1').then(response => {
+ this.count = response.data;
});
},
// 鍙栨秷鎸夐挳
@@ -323,6 +328,7 @@
this.queryParams.pageNum = 1;
this.queryParams.cameraFunType = 1;
this.getList();
+ this.getVideoCount();
},
/** 閲嶇疆鎸夐挳鎿嶄綔 */
resetQuery() {
--
Gitblit v1.8.0