From a34292254a49fbe57d4637304c39ab98ab88a610 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期三, 29 十月 2025 17:08:10 +0800
Subject: [PATCH] 大屏修改,录像核查修改,查询视频设备修改
---
src/views/system/data-manage/equipment/index.vue | 189 ++++++++++++++++++++++++++++-------------------
1 files changed, 113 insertions(+), 76 deletions(-)
diff --git a/src/views/system/data-manage/equipment/index.vue b/src/views/system/data-manage/equipment/index.vue
index d39b2f0..cf4dc00 100644
--- a/src/views/system/data-manage/equipment/index.vue
+++ b/src/views/system/data-manage/equipment/index.vue
@@ -12,28 +12,29 @@
<el-col :xl="14" :lg="14" :md="12" :sm="14" :xs="16">
<div class="dashboard">
<div class="dashboard-item">
- <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3>
+ <h3 style="color: #5C9BF8">{{ count.total }}</h3>
<p>璁惧鎬绘暟</p >
</div>
+ <div class="dashboard-item">
+ <h3 style="color: #5C9BF8">{{ count.video }}</h3>
+ <p>瑙嗛璁惧鏁�</p >
+ </div>
<div class="dashboard-item">
- <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3>
- <p>浜鸿劯璁惧鏁�</p >
- </div>
- <div class="dashboard-item">
- <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3>
+ <h3 style="color: #5C9BF8">{{ count.car }}</h3>
<p>杞﹁締璁惧鏁�</p >
</div>
<div class="dashboard-item">
- <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3>
- <p>瑙嗛璁惧鏁�</p >
+ <h3 style="color: #5C9BF8">{{ count.face }}</h3>
+ <p>浜鸿劯璁惧鏁�</p >
+ </div>
+
+ <div class="dashboard-item">
+ <h3 style="color: #3eba45">{{ count.examine }}</h3>
+ <p>鑰冩牳涓�</p >
</div>
<div class="dashboard-item">
- <h3 style="color: #3eba45">{{ count.totalMembers }}</h3>
- <p>姝e父鏁�</p >
- </div>
- <div class="dashboard-item">
- <h3 style="color: #fe640d">{{ count.postsPercentage }}</h3>
- <p>寮傚父鏁�</p >
+ <h3 style="color: #6f7583">{{ count.notExamine }}</h3>
+ <p>鏈�冩牳</p >
</div>
</div>
</el-col>
@@ -41,61 +42,65 @@
</el-card>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
- <el-form-item label="鍏抽敭瀛�" prop="name">
+ <el-form-item label="鍏抽敭瀛�" prop="keyword">
<el-input
- v-model="queryParams.name"
+ v-model="queryParams.keyword"
placeholder="璇疯緭鍏ュ叧閿瓧"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
- <el-form-item label="鍖哄煙" prop="onState">
+ <el-form-item label="鑰冩牳鐘舵��" prop="examineStatus">
<el-select
- v-model="queryParams.address"
- placeholder="璇烽�夋嫨鍖哄煙"
+ v-model="queryParams.examineStatus"
+ placeholder="璇烽�夋嫨鐘舵��"
clearable
>
- <el-option label="鑷础甯�" value="鑷础甯�"/>
- <el-option label="娌挎哗鍖�" value="娌挎哗鍖�"/>
- <el-option label="澶у畨鍖�" value="澶у畨鍖�"/>
- <el-option label="璐′簳鍖�" value="璐′簳鍖�"/>
- <el-option label="鑷祦浜曞尯" value="鑷祦浜曞尯"/>
- <el-option label="楂樻柊鍖�" value="楂樻柊鍖�"/>
- <el-option label="鑽e幙" value="鑽e幙"/>
- <el-option label="瀵岄『鍘�" value="瀵岄『鍘�"/>
+ <el-option label="鑰冩牳涓�" :value="1"/>
+ <el-option label="鏈�冩牳" :value="0"/>
</el-select>
</el-form-item>
- <el-form-item label="璁惧鐘舵��" prop="onState">
- <el-select
- v-model="queryParams.onState"
- placeholder="璁惧鐘舵��"
- clearable
- style="width: 100px"
- >
- <el-option
- v-for="dict in dict.type.camera_state"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
- </el-form-item>
+<!-- <el-form-item label="璁惧鐘舵��" prop="onState">-->
+<!-- <el-select-->
+<!-- v-model="queryParams.onState"-->
+<!-- placeholder="璁惧鐘舵��"-->
+<!-- clearable-->
+<!-- style="width: 100px"-->
+<!-- >-->
+<!-- <el-option-->
+<!-- v-for="dict in dict.type.camera_state"-->
+<!-- :key="dict.value"-->
+<!-- :label="dict.label"-->
+<!-- :value="dict.value"-->
+<!-- />-->
+<!-- </el-select>-->
+<!-- </el-form-item>-->
<el-form-item>
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+ <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">鎼滅储</el-button>
+ <el-button icon="el-icon-refresh" size="small" @click="resetQuery">閲嶇疆</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
+<!-- <el-col :span="1.5">-->
+<!-- <el-button-->
+<!-- type="warning"-->
+<!-- plain-->
+<!-- icon="el-icon-download"-->
+<!-- size="mini"-->
+<!-- @click="handleExport"-->
+<!-- >瀵煎嚭</el-button>-->
+<!-- </el-col>-->
<el-col :span="1.5">
<el-button
- type="warning"
+ type="danger"
plain
- icon="el-icon-download"
+ icon="el-icon-delete"
size="mini"
- @click="handleExport"
- >瀵煎嚭</el-button>
+ @click="clearMonitor"
+ v-hasRole="['admin']"
+ >娓呯悊涓�鏈轰竴妗�</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row>
@@ -104,15 +109,22 @@
<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" 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 label="鏍囩" align="center" prop="publicSecurity" width="180" v-if="columns[0].visible"/>-->
+ <el-table-column label="鍖哄煙" align="center" prop="cameraCaptureArea" 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"/>-->
+ <div v-if="scope.row.onState ==1">鑰冩牳涓�</div>
+ <div v-else-if="scope.row.onState ==0" >鏈�冩牳</div>
+ </template>
</el-table-column>
<el-table-column label="鏁版嵁鏃堕棿" align="center" prop="installedTime" width="180" v-if="columns[3].visible"/>
<el-table-column label="绠$悊鍗曚綅" align="center" prop="managementUnit" width="180" v-if="columns[4].visible"/>
+<!-- <el-table-column v-for="(column, index) in dynamicColumnList" :key="index" :label="column.labelValue" :prop="column.propName" align="center">-->
+<!-- <template slot-scope="scope">-->
+<!-- {{ getDynamicValue(scope.row, column.propName) }}-->
+<!-- </template>-->
+<!-- </el-table-column>-->
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button
@@ -140,22 +152,22 @@
<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.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 label="鍦板尯锛�">{{ form.cameraCaptureArea }} </el-form-item>
+ <el-form-item label="绠$悊鍗曚綅锛�">{{ form.managementUnit }} </el-form-item>
+ <el-form-item label="鑰冩牳鐘舵�侊細">
+ <div v-if="form.onState == 1">鑰冩牳涓�</div>
+ <div v-else-if="form.onState == 0">鏈�冩牳</div>
</el-form-item>
</el-col>
+<!-- <el-col :span="24">-->
+<!-- <el-form-item label="鍦板潃锛�">{{ form.address }}</el-form-item>-->
+<!-- </el-col>-->
<el-col :span="24">
- <el-form-item label="鍦板潃锛�">{{ form.address }}</el-form-item>
+ <el-form-item label="鏁版嵁鏃堕棿锛�">{{ form.installedTime }}</el-form-item>
</el-col>
- <el-col :span="24">
- <el-form-item label="瀹夎鏃堕棿锛�">{{ form.installedTime }}</el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="绠$悊鍗曚綅锛�">{{ form.managementUnit }}</el-form-item>
- </el-col>
+<!-- <el-col :span="24">-->
+<!-- <el-form-item label="绠$悊鍗曚綅锛�">{{ form.managementUnit }}</el-form-item>-->
+<!-- </el-col>-->
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -167,11 +179,14 @@
<script>
import { videoCount, listMonitor, getMonitor, delMonitor, addMonitor, updateMonitor } from "@/api/platform/monitor";
+import { getDynamicColumnList } from '@/api/platform/dynamicColumn'
+import { dataCenter,clearMonitor,assetManagementCount } from "@/api/platform/data-center";
export default {
name: "Monitor",
dicts: ['sys_normal_disable', 'platform_yes_no','camera_state'],
data() {
return {
+ dynamicColumnList: [],
// 鍒椾俊鎭�
columns: [
{ key: 0, label: `鏍囩`, visible: true },
@@ -212,7 +227,7 @@
pageNum: 1,
pageSize: 10,
serialNumber: null,
- name: null,
+ keyword: '',
onState: null,
address: null,
installedTime: null,
@@ -240,23 +255,46 @@
};
},
created() {
- this.getVideoCount();
+ this.getCount();
this.getList();
- this.getCountyList();
},
methods: {
+ //娓呯悊涓�鏈轰竴妗�
+ clearMonitor() {
+ this.$modal.confirm('鏄惁纭娓呯悊涓�鏈轰竴妗�?').then(function() {
+ return clearMonitor();
+ }).then(() => {
+ this.getList()
+ this.getCount();
+ this.$modal.msgSuccess("娓呯悊鎴愬姛");
+ }).catch(() => {});
+ },
+ getDyColumn() {
+ // 鏌ヨ鍔ㄦ�佸垪
+ let params = {
+ tableName: 't_monitor'
+ }
+ getDynamicColumnList(params).then(res => {
+ this.dynamicColumnList = res.data
+ })
+ },
+ getDynamicValue(row, propName) {
+ let target = row.dynamicColumnList.filter(item => item.propName === propName)
+ return target && target.length > 0 ? target[0].columnValue : ''
+ },
/** 鏌ヨ璁惧璧勪骇鍒楄〃 */
getList() {
this.loading = true;
- listMonitor(this.queryParams).then(response => {
- this.monitorList = response.rows;
+ // this.getDyColumn()
+ dataCenter('assetManagement', this.queryParams).then(response => {
+ this.monitorList = response.data;
this.total = response.total;
this.loading = false;
});
},
/** 鏌ヨ璁惧璧勪骇缁熻鏁� */
- getVideoCount() {
- videoCount('1').then(response => {
+ getCount() {
+ assetManagementCount().then(response => {
this.count = response.data;
});
},
@@ -282,9 +320,8 @@
/** 鎼滅储鎸夐挳鎿嶄綔 */
handleQuery() {
this.queryParams.pageNum = 1;
- this.queryParams.cameraFunType = 1;
this.getList();
- this.getVideoCount();
+ this.getCount();
},
/** 閲嶇疆鎸夐挳鎿嶄綔 */
resetQuery() {
@@ -370,7 +407,7 @@
display: flex;
justify-content: center;
align-items: center;
- border-radius: 20px;
+ border-radius: 10px;
width: 20%;
height: 80px;
margin-left: 5%;
--
Gitblit v1.8.0