From 7f356bf22e4fe731e2b79ca3877e7c702eaf0704 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 03 四月 2024 14:25:17 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/system/face/index.vue | 201 +++++++++++++++++++++++++++++++++++++------------- 1 files changed, 148 insertions(+), 53 deletions(-) diff --git a/src/views/system/face/index.vue b/src/views/system/face/index.vue index 7b719d6..d571bbc 100644 --- a/src/views/system/face/index.vue +++ b/src/views/system/face/index.vue @@ -1,13 +1,67 @@ <template> <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label="璁惧鍚嶇О" prop="name"> + <el-card class="box-card" > + <el-row type="flex" align="middle" justify="space-between"> + <el-col :xl="8" :lg="8" :md="10" :sm="8" :xs="6"> + <div class="icon-container" style="background-color: #5599F7"> + <i class="el-icon-user"></i> + </div> + </el-col> + <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> + <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 > + </div> + <div class="dashboard-item"> + <h3>{{ count.totalViews }}</h3> + <p>鐢熸垚寮傚父宸ュ崟鏁�</p > + </div> + <div class="dashboard-item"> + <h3>{{ count.totalFace }}</h3> + <p>鎶撴媿鏁版嵁鎬婚噺</p > + </div> + <div class="dashboard-item"> + <h3>{{ count.viewsPercentage }}%</h3> + <p>璁惧杩愯鐜�</p > + </div> + </div> + </el-col> + </el-row> + </el-card> + + <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" - placeholder="璇疯緭鍏ヨ澶囧悕绉�" + placeholder="璇疯緭鍏ュ叧閿瓧" clearable @keyup.enter.native="handleQuery" /> + </el-form-item> + <el-form-item label="鍖哄煙" prop="onState"> + <el-select + v-model="queryParams.address" + 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-select> </el-form-item> <el-form-item label="璁惧鐘舵��" prop="onState"> <el-select @@ -23,30 +77,6 @@ :value="dict.value" /> </el-select> - </el-form-item> - <el-form-item label="鍦板潃" prop="address"> - <el-input - v-model="queryParams.address" - placeholder="璇疯緭鍏ュ湴鍧�" - clearable - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="瀹夎鏃堕棿" prop="installedTime"> - <el-date-picker clearable - v-model="queryParams.installedTime" - type="date" - value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨瀹夎鏃堕棿"> - </el-date-picker> - </el-form-item> - <el-form-item label="绠$悊鍗曚綅" prop="managementUnit"> - <el-input - v-model="queryParams.managementUnit" - placeholder="璇疯緭鍏ョ鐞嗗崟浣�" - clearable - @keyup.enter.native="handleQuery" - /> </el-form-item> <el-form-item label="鏄惁鐢熸垚寮傚父宸ュ崟" prop="defaultOrder" label-width="130px"> <el-select @@ -77,41 +107,40 @@ icon="el-icon-download" size="mini" @click="handleExport" - v-hasPermi="['system:monitor:export']" >瀵煎嚭</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="serialNumber" /> - <el-table-column label="璁惧鍚嶇О" align="center" prop="name" /> - <el-table-column label="璁惧鐘舵��" align="center" prop="onState"> + <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> - <el-table-column label="鍦板潃" align="center" prop="address" /> - <el-table-column label="鏄惁鐢熸垚寮傚父宸ュ崟" align="center" prop="defaultOrder"> + <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="reason" /> - <el-table-column label="瀹夎鏃堕棿" align="center" prop="installedTime" width="180"> - </el-table-column> - <el-table-column label="绠$悊鍗曚綅" align="center" prop="managementUnit" /> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-view" - @click="handleView(scope.row,scope.index)" - v-hasPermi="['system:monitor:query']" - >璇︾粏</el-button> - </template> + <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 + size="mini" + type="text" + icon="el-icon-view" + @click="handleView(scope.row,scope.index)" + >璇︾粏</el-button> + </template> </el-table-column> </el-table> @@ -172,6 +201,8 @@ <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> @@ -185,13 +216,16 @@ </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> </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="鎶撴媿閲忥細"></el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="鎸佺画鏃犳暟鎹ぉ鏁帮細"></el-form-item> </el-col> </el-row> </el-form> @@ -203,13 +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 { + // 鍒椾俊鎭� + 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, // 閫変腑鏁扮粍 @@ -261,6 +314,7 @@ }; }, created() { + this.getVideoCount(); this.getList(); }, methods: { @@ -271,6 +325,12 @@ this.monitorList = response.rows; this.total = response.total; this.loading = false; + }); + }, + /** 鏌ヨ璁惧璧勪骇缁熻鏁� */ + getVideoCount() { + videoCount('3').then(response => { + this.count = response.data; }); }, // 鍙栨秷鎸夐挳 @@ -296,6 +356,7 @@ this.queryParams.pageNum = 1; this.queryParams.cameraFunType = 3 this.getList(); + this.getVideoCount(); }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { @@ -368,3 +429,37 @@ } }; </script> + +<style lang="scss" scoped> + +.box-card { + background-color: #F5F9FE; + width: 100%; + margin-bottom: 20px; + height: 120px +} +.icon-container { + display: flex; + justify-content: center; + align-items: center; + border-radius: 20px; + width: 20%; + height: 80px; + margin-left: 5%; +} +.el-icon-user { + font-size: 50px; + color: #FFFFFF; +} + +.dashboard { + display: flex; + gap: 10%; + align-items: center; + margin-left: -50%; +} + +.dashboard-item { + text-align: center; +} +</style> -- Gitblit v1.8.0