From 1acb2169d78d74e347bdfc2e962a88e6cb585bb7 Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期五, 30 十月 2020 14:22:34 +0800
Subject: [PATCH] 修复数据栈文件删除列表仍有遗留的bug
---
src/pages/library/components/personList.vue | 256 +++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 208 insertions(+), 48 deletions(-)
diff --git a/src/pages/library/components/personList.vue b/src/pages/library/components/personList.vue
index ad91779..073c8a1 100644
--- a/src/pages/library/components/personList.vue
+++ b/src/pages/library/components/personList.vue
@@ -1,31 +1,13 @@
<template>
<div class="table-parent">
- <el-row class style="margin:20px">
- <!-- <el-col :span="4" class="tl">
- <b class="f14">{{this.baseObject.tableName}}</b>
- </el-col>
- <el-col :span="2">
- <b class="f14">{{this.baseObject.bwType === '1'?'榛戝悕鍗�':'鐧藉悕鍗�'}}</b>
- </el-col>
- <el-col :span="8">
- <b class="f14">鏈夋晥鏃堕棿锛歿{this.baseObject.startTime}}--{{this.baseObject.endTime?this.baseObject.endTime:'姘镐箙鏈夋晥'}}</b>
- </el-col>-->
- <div class="tl">
- <span
- class="f14"
- style="color:#000000;"
- >{{this.baseObject.tableName?this.baseObject.tableName + '/ ':''}}</span>
- <span
- class="f14"
- style="color:#000000;"
- >{{this.baseObject.bwType === '1'?'榛戝悕鍗�/ ':'鐧藉悕鍗�/ '}}</span>
- <span
- class="f14"
- style="color:#000000;"
- >鏈夋晥鏃堕棿锛歿{this.baseObject.startTime}}--{{this.baseObject.endTime?this.baseObject.endTime:'姘镐箙鏈夋晥'}}</span>
+ <el-row style="margin-top:20px">
+ <div class="base-tip">
+ <span>{{this.baseObject.tableName?this.baseObject.tableName + '/ ':''}}</span>
+ <span>{{this.baseObject.bwType === '1'?'榛戝悕鍗�/ ':'鐧藉悕鍗�/ '}}</span>
+ <span>鏈夋晥鏃堕棿锛歿{this.baseObject.startTime}}--{{this.baseObject.endTime?this.baseObject.endTime:'姘镐箙鏈夋晥'}}</span>
</div>
</el-row>
- <el-row class style="margin:40px 0 40px 20px">
+ <el-row class style="margin:40px 0 40px 0px">
<el-col :span="6">
<el-input
placeholder="濮撳悕/鎬у埆/韬唤璇佸彿/鎵嬫満鍙�"
@@ -42,24 +24,24 @@
<el-button size="small" type="primary" @click="handleSearch">鎼滅储</el-button>
</el-col>
<el-col :offset="11" :span="3">
- <fTemplate authority="videoTable:edit">
+ <fTemplate authority="library:set">
<el-button
size="small"
class="ml10"
type="danger"
@click="deleteBatch"
- v-if="isShow('videoTable:edit')"
+ v-if="isShow('library:set')"
>鎵归噺鍒犻櫎</el-button>
</fTemplate>
</el-col>
<el-col :span="2">
<div class="text-left">
<upload
- limitTypes=".jpg,.png,.jpeg,.gif,.mp4"
+ limitTypes=".jpg,.png,.jpeg"
limitSize
uploadBtntext="涓婁紶鐓х墖"
uploadBtnIcon
- v-if="isShow('videoTable:edit')"
+ v-if="isShow('library:set')"
uploadBtnSize="small"
:isDrag="true"
@addFilesBaBackFN="changeDialog"
@@ -135,7 +117,7 @@
<el-switch
v-model="scope.row.enable"
:active-value="1"
- :disabled="!isShow('videoTable:edit')"
+ :disabled="!isShow('library:set')"
:inactive-value="0"
@change="enable(scope.row)"
></el-switch>
@@ -143,7 +125,7 @@
</el-table-column>
<el-table-column label="鎿嶄綔" min-width="200" align="center">
<template slot-scope="scope">
- <fTemplate authority="videoTable:edit">
+ <fTemplate authority="library:set">
<el-tooltip content="缂栬緫" placement="top" popper-class="atooltip">
<span
class="iconfont iconbianji iconStyle1"
@@ -155,7 +137,10 @@
<el-tooltip content="鏌ユ壘姝や汉" placement="top" popper-class="atooltip">
<span class="iconfont iconsousuoren iconStyle1" @click="tosearch(scope.row)"></span>
</el-tooltip>
- <fTemplate authority="videoTable:edit">
+ <el-tooltip content="鏌ョ湅璇︽儏" placement="top" popper-class="atooltip">
+ <span class="iconfont iconsousuoren iconStyle1" @click="showDetail(scope.row)"></span>
+ </el-tooltip>
+ <fTemplate authority="library:set">
<el-tooltip content="澶嶅埗" placement="top" popper-class="atooltip">
<span
class="iconfont iconfuzhi iconStyle1"
@@ -164,7 +149,7 @@
></span>
</el-tooltip>
</fTemplate>
- <fTemplate authority="videoTable:edit">
+ <fTemplate authority="library:set">
<el-tooltip content="绉诲姩" placement="top" popper-class="atooltip">
<span
class="iconfont iconyidongzhi iconStyle1"
@@ -174,7 +159,7 @@
></span>
</el-tooltip>
</fTemplate>
- <fTemplate authority="videoTable:edit">
+ <fTemplate authority="library:set">
<el-tooltip content="鍒犻櫎" placement="top" popper-class="atooltip">
<span
class="iconfont iconshanchu iconStyle1"
@@ -188,7 +173,7 @@
</el-table-column>
</el-table>
</div>
- <div class="pt5 pb20" style="height:40px;position:relative">
+ <div class="pt5" style="height:40px;position:relative">
<el-pagination
@current-change="refrash"
:current-page="BaseManageData.page"
@@ -197,6 +182,71 @@
: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>
+
+ <div 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>
+ </div>
+
+ <el-table :data="cameraDetailData" border>
+ <el-table-column prop="faceImg" label="鎶撴媿瀹炴櫙" width="160" align="center">
+ <template slot-scope="scope">
+ <div>
+ <img
+ v-if="scope.row.faceImg"
+ :src="`/httpImage/`+scope.row.faceImg"
+ 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"
@@ -254,7 +304,11 @@
</el-row>
<el-row>
<el-col :span="20">
- <el-form-item label="鎬у埆" prop="sex" style="width:100%;margin-bottom: 10px;" class="tl">
+ <el-form-item
+ label="鎬у埆"
+ prop="sex"
+ style="width:100%;margin-bottom: 8px; text-align: left"
+ >
<el-radio-group v-model="form.sex" class="mt10">
<el-radio label="鐢�"></el-radio>
<el-radio label="濂�"></el-radio>
@@ -449,14 +503,48 @@
</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(new Date().setHours(23, 59, 59))],
+ memberInfo: {
+ personName: '',
+ sex: '',
+ idCard: '',
+ reserved: ''
+ },
+ reqCameraParams: {
+ startTime: new Date(2020, 7, 25, 8).Format("yyyy-MM-dd HH:mm:ss"),
+ endTime: new Date().Format("yyyy-MM-dd HH:mm:ss"),
+ thresholdTime: 10,
+ faceId: []
+ },
+ cameraDetailData: [],
+ cameraDetailVisible: false,
+
dialogFormVisible: false,
copyVisiabled: false,
moveVisiabled: false,
@@ -467,7 +555,7 @@
pageSize: 10,
total: 0,
orderType: "desc",
- orderName: "id",
+ orderName: "createTime",
contentValue: "",
visible: false,
selectedRowKeys: [],
@@ -499,6 +587,7 @@
peoperLevel: [],
oldWidth: "",
oldHeight: "",
+ faceDataCount: 0,
// 涓婁紶鍚庣殑寮规鏄剧ず
dialogVisible: false,
// 鎵归噺涓婁紶鍚庣殑杩斿洖缁撴灉
@@ -520,6 +609,28 @@
}
},
methods: {
+ postCameraData() {
+ getCameraFaceData(this.reqCameraParams).then(res => {
+ if (res && res.rtnCode == 1) {
+ this.cameraDetailData = res.rtnData
+ this.faceDataCount = res.rtnData.length
+ }
+ })
+ },
+ timeChange(val) {
+ this.reqCameraParams.startTime = val[0];
+ this.reqCameraParams.endTime = 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.faceId = row.id;
+ this.cameraDetailVisible = true;
+ },
isShow(authority) {
if (this.isAdmin) {
return true
@@ -580,7 +691,7 @@
console.log("hello");
},
getUploadResult(result) {
- console.log(result, "涓婁紶鐨勮繑鍥�");
+ // console.log(result, "涓婁紶鐨勮繑鍥�");
this.uploadResult = result.data;
this.dialogVisible = true;
this.getPersonList();
@@ -815,18 +926,29 @@
}
}
},
+ // tosearch(item) {
+ // // console.log("璺宠浆鍦板潃", item)
+ // var curWwwPath = window.document.location.href;
+ // var pathname = window.document.location.pathname;
+ // var pos = curWwwPath.indexOf(pathname);
+ // var localhostPath = curWwwPath.substring(0, pos); //ip+port
+ // var href = localhostPath + "/Layout/Searching"
+ // let captureId = item.id == "" ? item.personId : item.id
+ // var url = item.personPicUrl ? item.personPicUrl : item.personPicUrl
+ // // console.log("璺宠浆鍦板潃",href,"url",url)
+ // var compType = 0
+ // window.open(href + '?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + url + '&compType=' + compType)
+ // },
tosearch(item) {
- // console.log("璺宠浆鍦板潃", item)
- var curWwwPath = window.document.location.href;
- var pathname = window.document.location.pathname;
- var pos = curWwwPath.indexOf(pathname);
- var localhostPath = curWwwPath.substring(0, pos); //ip+port
- var href = localhostPath + "/Layout/Searching"
+ //let captureId = item.id == "" ? item.baseInfo[0].targetId : item.id
let captureId = item.id == "" ? item.personId : item.id
- var url = item.personPicUrl ? item.personPicUrl : item.personPicUrl
- // console.log("璺宠浆鍦板潃",href,"url",url)
- var compType = 0
- window.open(href + '?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + url + '&compType=' + compType)
+ let imgUrl = item.personPicUrl ? item.personPicUrl : item.personPicUrl
+ let compType = 0;
+
+ let message = 'toSearch?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + imgUrl + '&compType=' + compType;
+ window.parent.postMessage({
+ msg: message
+ }, "*")
},
copyClick(row) {
this.BaseManageData.personId = row.id
@@ -1017,8 +1139,15 @@
}
.table-parent {
// position: relative;
+ margin-left: 5px;
height: 90%;
overflow: visible !important;
+
+ .base-tip {
+ text-align: left;
+ font-size: 14px;
+ color: #000000;
+ }
}
.text-left {
@@ -1030,6 +1159,12 @@
border: 1px solid #ebeef5;
border-bottom: none;
// border-bottom: none;
+}
+.el-dialog {
+ min-width: 515px;
+ .el-button--info {
+ color: #222;
+ }
}
.el-dialog__header {
padding: 20px 0 10px;
@@ -1076,7 +1211,10 @@
color: #222222;
text-align: center;
}
-
+.el-table th {
+ color: #222;
+ background: #ececec;
+}
.el-table .cell {
padding-left: 8px !important;
padding-right: 0px !important;
@@ -1144,9 +1282,31 @@
}
.avatar-uploader {
+ margin: auto;
max-width: 150px;
min-width: 150px;
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