From 21f203a1f24ab2a869ba942a1f1f7c24e80a2b77 Mon Sep 17 00:00:00 2001 From: hanbaoshan <hanbaoshan@aiotlink.com> Date: 星期三, 26 八月 2020 15:01:15 +0800 Subject: [PATCH] 底库新增图表结果展示 --- src/pages/library/components/personList.vue | 130 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 129 insertions(+), 1 deletions(-) diff --git a/src/pages/library/components/personList.vue b/src/pages/library/components/personList.vue index 6ade657..22891c7 100644 --- a/src/pages/library/components/personList.vue +++ b/src/pages/library/components/personList.vue @@ -155,6 +155,9 @@ <el-tooltip content="鏌ユ壘姝や汉" placement="top" popper-class="atooltip"> <span class="iconfont iconsousuoren iconStyle1" @click="tosearch(scope.row)"></span> </el-tooltip> + <el-tooltip content="鏌ョ湅璇︽儏" placement="top" popper-class="atooltip"> + <span class="iconfont iconsousuoren iconStyle1" @click="showDetail(scope.row)"></span> + </el-tooltip> <fTemplate authority="videoTable:edit"> <el-tooltip content="澶嶅埗" placement="top" popper-class="atooltip"> <span @@ -197,6 +200,46 @@ :total="BaseManageData.total" ></el-pagination> </div> + <el-dialog title="鎶撴媿璇︽儏" :visible.sync="cameraDetailVisible" okText="纭畾" > + <div class="top-bar"> + <el-date-picker size="mini" @change="timeChange" v-model="timeRange" value-format="yyyy-MM-dd HH:mm:ss" + type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿"></el-date-picker> + <div style="margin:0 10px;display:flex;"><span style="width:68px;">鍋滅暀鏃堕暱:</span><el-input size="mini" style="width: 80px;" v-model.number="reqCameraParams.thresholdTime"></el-input>s</div> + <el-button size="mini" type="primary" @click="postCameraData">鏌ヨ</el-button> + </div> + <p class="member-info"> + <label class="">浜哄憳淇℃伅:</label> + <ul> + <li><span>濮撳悕:</span><span>{{memberInfo.personName}}</span></li> + <li><span>鎬у埆:</span><span>{{memberInfo.sex}}</span></li> + <li><span>韬唤璇佸彿:</span><span>{{memberInfo.idCard}}</span></li> + <li><span>鎰忓浘:</span><span>{{memberInfo.reserved}}</span></li> + </ul> + </p> + <el-table :data="cameraDetailData" border> + <el-table-column prop="startFacePicUrl" label="鎶撴媿瀹炴櫙" width="160" align="center"> + <template slot-scope="scope"> + <div> + <img + v-if="scope.row.startFacePicUrl" + :src="`/httpImage/`+scope.row.startFacePicUrl" + style="max-height:84px;width:84px;object-fit:contain;background:rgba(0,0,0,0.35);" + class="avatar" + /> + </div> + </template> + </el-table-column> + <el-table-column prop="cameraName" label="鎽勫儚鏈哄悕绉�" width="100" align="center"></el-table-column> + <el-table-column prop="startTime" label="寮�濮嬫椂闂�" align="center"></el-table-column> + <el-table-column prop="endTime" label="缁撴潫鏃堕棿" align="center"></el-table-column> + <el-table-column prop="stayTime" label="鍋滅暀鏃堕暱" width="99" align="center"> + <template slot-scope="scope"> + <span>{{scope.row.stayTime}} 绉� </span> + </template> + </el-table-column> + </el-table> + <p style="text-align:right; font-size: 14px;">鍏眥{faceDataCount}}鏉℃暟鎹�</p> + </el-dialog> <el-dialog title="淇敼淇℃伅" :visible.sync="dialogFormVisible" @@ -449,14 +492,49 @@ </template> <script> import { updateBasePerson, deleteBasePersons } from "@/api/baseLibrary"; +import { getCameraFaceData } from "@/api/es"; import axios from "axios"; // import { findByType } from '@/server/video.js' import Upload from "./upload"; import fTemplate from "@/components/fTemplate"; import UploadIcon from "@/components/searching/UploadIcon.vue"; + +Date.prototype.Format = function (fmt) { + var o = { + "M+": this.getMonth() + 1, //鏈堜唤 + "d+": this.getDate(), //鏃� + "H+": this.getHours(), //灏忔椂 + "m+": this.getMinutes(), //鍒� + "s+": this.getSeconds(), //绉� + "q+": Math.floor((this.getMonth() + 3) / 3), //瀛e害 + "S": this.getMilliseconds() //姣 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; +} + export default { data() { return { + timeRange: [new Date(2020, 7, 25, 8), new Date()], + memberInfo: { + personName: '', + sex: '', + idCard: '', + reserved: '' + }, + reqCameraParams: { + cameraIds: [], + startDate: new Date(2020, 7, 25, 8).Format("yyyy-MM-dd HH:mm:ss"), + endDate: new Date().Format("yyyy-MM-dd HH:mm:ss"), + thresholdTime: 10, + personIds: [] + }, + cameraDetailData: [], + cameraDetailVisible: false, + dialogFormVisible: false, copyVisiabled: false, moveVisiabled: false, @@ -499,6 +577,7 @@ peoperLevel: [], oldWidth: "", oldHeight: "", + faceDataCount: 0, // 涓婁紶鍚庣殑寮规鏄剧ず dialogVisible: false, // 鎵归噺涓婁紶鍚庣殑杩斿洖缁撴灉 @@ -520,6 +599,31 @@ } }, methods: { + postCameraData(){ + getCameraFaceData(this.reqCameraParams).then(res=>{ + if(res && res.code == 200){ + this.cameraDetailData = res.data.allSource + this.faceDataCount = res.data.count + } + }) + }, + timeChange(val) { + console.log(val); + this.reqCameraParams.startDate = val[0]; + this.reqCameraParams.endDate = val[1]; + + }, + showDetail(row){ + this.cameraDetailData = [] + this.memberInfo.reserved = row.reserved; + this.memberInfo.idCard = row.idCard; + this.memberInfo.personName = row.personName; + this.memberInfo.sex = row.sex; + this.reqCameraParams.personIds = []; + this.reqCameraParams.personIds.push(row.id) + console.log(this.reqCameraParams) + this.cameraDetailVisible = true; + }, isShow(authority) { if (this.isAdmin) { return true @@ -1097,7 +1201,10 @@ color: #222222; text-align: center; } - +.el-table th{ + color: #222; + background: #ececec; +} .el-table .cell { padding-left: 8px !important; padding-right: 0px !important; @@ -1170,4 +1277,25 @@ min-height: 152px; border: 1px solid #eee; } +.top-bar{ + display: flex; + justify-content: space-between; + align-items: center; + line-height: 30px; +} +.member-info{ + font-size: 13px; + margin: 10px 0; + display: flex; + label{ + color: #999; + margin-right: 6px; + } + ul{ + display: flex; + li{ + margin-right: 8px; + } + } +} </style> -- Gitblit v1.8.0