| | |
| | | indicator-position="none" |
| | | :arrow="data.baseInfo.length > 1 ? 'always' : 'never'" |
| | | > |
| | | <el-carousel-item v-for="(item, index) in data.baseInfo" :key="index"> |
| | | <el-carousel-item |
| | | v-for="(item, index) in data.baseInfo" |
| | | :key="index" |
| | | > |
| | | <img |
| | | :src="item.targetPicUrl | httpImage" |
| | | class="cursor-pointer" |
| | |
| | | class="s-card-left-isCompare-div compareScore111" |
| | | :style="{ |
| | | bottom: '0', |
| | | background: getUrl(data.baseInfo[initialIndex].bwType) |
| | | background: getUrl(data.baseInfo[initialIndex].bwType), |
| | | }" |
| | | > |
| | | <b>{{ data.baseInfo[initialIndex].compareScore | percentage }}</b> |
| | |
| | | :autoplay="false" |
| | | @change="changeCarousel" |
| | | > |
| | | <el-carousel-item v-for="(item, index) in data.picMaxUrl" :key="index + 'img'"> |
| | | <img :src="item | httpImage" class="cursor-pointer" @click="detailsClick($event)" /> |
| | | <el-carousel-item |
| | | v-for="(item, index) in data.picMaxUrl" |
| | | :key="index + 'img'" |
| | | > |
| | | <img |
| | | :src="item | httpImage" |
| | | class="cursor-pointer" |
| | | @click="detailsClick($event)" |
| | | /> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | <!-- 暂时认为只有人脸抓拍的报警, 首页显示小图, 其他时间均显示大图 --> |
| | | <img |
| | | v-else-if="data.targetInfo == null || data.targetInfo[0].targetType !== 'FaceDetect'" |
| | | v-else-if=" |
| | | (data.targetInfo && data.targetInfo.length === 0) || |
| | | data.targetInfo[0].targetType !== 'FaceDetect' |
| | | " |
| | | :src="data.picMaxUrl[0] | httpImage" |
| | | class="cursor-pointer" |
| | | @click="detailsClick($event)" |
| | |
| | | /> |
| | | </div> |
| | | <div class="s-card-left-box" v-else> |
| | | <img :src="data.baseInfo[0].targetPicUrl | httpImage" class="cursor-pointer" /> |
| | | <img |
| | | :src="data.baseInfo[0].targetPicUrl | httpImage" |
| | | class="cursor-pointer" |
| | | /> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | @mouseleave="cardMouseleave($event)" |
| | | > |
| | | <p> |
| | | <span class="fontStyle color222">{{ data.picDate | formatTime}}</span> |
| | | <span class="fontStyle color222">{{ |
| | | data.picDate | formatTime |
| | | }}</span> |
| | | </p> |
| | | <p style="margin-bottom: 8px;"> |
| | | <p style="margin-bottom: 8px"> |
| | | <span class="fontStyle color222">{{ data.cameraAddr }}</span> |
| | | </p> |
| | | <el-tooltip placement="right" popper-class="atooltip"> |
| | | <div slot="content"> |
| | | <p v-for="(item,index) in data.alarmRules" :key="index+'rule'"> |
| | | <span>{{data.taskName}}</span> |
| | | <span v-if="item.alarmLevel !== '撤防'"> {{item.alarmLevel}}</span> |
| | | <span>{{ data.taskName }}</span |
| | | > |
| | | <span v-if="item.alarmLevel !== '撤防'" |
| | | > {{ item.alarmLevel }}</span |
| | | > |
| | | <span v-if="item.linkInfo == '联动任务'"> 联动任务</span> |
| | | </p> |
| | | </div> |
| | | <el-button |
| | | style="line-height:17px;border:none;padding:0;overflow:hidden;text-overflow:ellipsis;cursor:default;width:100%;text-align:left" |
| | | style=" |
| | | line-height: 17px; |
| | | border: none; |
| | | padding: 0; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | cursor: default; |
| | | width: 100%; |
| | | text-align: left; |
| | | " |
| | | > |
| | | <span |
| | | v-for="(item,index) in data.alarmRules" |
| | | :key="index+'rule1'" |
| | | style="text-overflow:ellipsis;max-width:100px" |
| | | > |
| | | <span class="fontStyle color666">{{data.taskName}}</span> |
| | | <span class="fontStyle color666">{{ data.taskName }}</span |
| | | > |
| | | <span class="fontStyle color666" v-if="item.alarmLevel !== '撤防'" |
| | | > {{ item.alarmLevel }}</span |
| | | > |
| | | <span |
| | | class="fontStyle color666" |
| | | v-if="item.alarmLevel !== '撤防'" |
| | | > {{item.alarmLevel}}</span> |
| | | <span class="fontStyle color666" v-if="item.linkInfo == '联动任务'"> 联动任务</span> |
| | | v-if="item.linkInfo == '联动任务'" |
| | | > 联动任务</span |
| | | > |
| | | <span v-if="index < data.alarmRules.length-1">/ </span> |
| | | </span> |
| | | </el-button> |
| | |
| | | <span |
| | | class="fontStyle" |
| | | v-if="data.baseInfo[initialIndex].tableName" |
| | | >{{ data.baseInfo[initialIndex].tableName }}</span> |
| | | >{{ data.baseInfo[initialIndex].tableName }}</span |
| | | > |
| | | <span |
| | | class="fontStyle" |
| | | v-if="data.baseInfo[initialIndex].targetName" |
| | | >/ {{ data.baseInfo[initialIndex].targetName }}</span> |
| | | <span |
| | | class="fontStyle" |
| | | v-if="data.baseInfo[initialIndex].labels" |
| | | >/ {{ data.baseInfo[initialIndex].labels | idCard}}</span> |
| | | >/ {{ data.baseInfo[initialIndex].targetName }}</span |
| | | > |
| | | <span class="fontStyle" v-if="data.baseInfo[initialIndex].labels" |
| | | >/ {{ data.baseInfo[initialIndex].labels | idCard }}</span |
| | | > |
| | | <span |
| | | class="fontStyle" |
| | | v-if="data.baseInfo[initialIndex].monitorLevel" |
| | | >/ {{ data.baseInfo[initialIndex].monitorLevel }}</span> |
| | | >/ {{ data.baseInfo[initialIndex].monitorLevel }}</span |
| | | > |
| | | </p> |
| | | </div> |
| | | <el-button |
| | | style="line-height:17px;border:none;padding:0;margin:0;overflow:hidden;text-overflow:ellipsis;cursor:default;width:100%;text-align:left" |
| | | style=" |
| | | line-height: 17px; |
| | | border: none; |
| | | padding: 0; |
| | | margin: 0; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | cursor: default; |
| | | width: 100%; |
| | | text-align: left; |
| | | " |
| | | > |
| | | <span |
| | | :style="data.baseInfo[initialIndex].bwType === '1' |
| | | :style=" |
| | | data.baseInfo[initialIndex].bwType === '1' |
| | | ? 'color: red;font-size:12px;line-height:20px' |
| | | : 'font-size:12px;line-height:20px'" |
| | | : 'font-size:12px;line-height:20px' |
| | | " |
| | | > |
| | | <span |
| | | class="fontStyle" |
| | | v-if="data.baseInfo[initialIndex].tableName" |
| | | >{{ data.baseInfo[initialIndex].tableName }}</span> |
| | | >{{ data.baseInfo[initialIndex].tableName }}</span |
| | | > |
| | | <span |
| | | class="fontStyle" |
| | | v-if="data.baseInfo[initialIndex].targetName" |
| | | >/ {{ data.baseInfo[initialIndex].targetName }}</span> |
| | | <span |
| | | class="fontStyle" |
| | | v-if="data.baseInfo[initialIndex].labels" |
| | | >/ {{ data.baseInfo[initialIndex].labels | idCard}}</span> |
| | | >/ {{ data.baseInfo[initialIndex].targetName }}</span |
| | | > |
| | | <span class="fontStyle" v-if="data.baseInfo[initialIndex].labels" |
| | | >/ {{ data.baseInfo[initialIndex].labels | idCard }}</span |
| | | > |
| | | <span |
| | | class="fontStyle" |
| | | v-if="data.baseInfo[initialIndex].monitorLevel" |
| | | >/ {{ data.baseInfo[initialIndex].monitorLevel }}</span> |
| | | >/ {{ data.baseInfo[initialIndex].monitorLevel }}</span |
| | | > |
| | | </span> |
| | | </el-button> |
| | | </el-tooltip> |
| | |
| | | <p |
| | | :title="data.baseInfo[0].compareScore" |
| | | class="score" |
| | | style="font-family: PingFangSC-Medium;font-size: 20px;color: #3D68E1;letter-spacing: 0.4px;" |
| | | style=" |
| | | font-family: PingFangSC-Medium; |
| | | font-size: 20px; |
| | | color: #3d68e1; |
| | | letter-spacing: 0.4px; |
| | | " |
| | | > |
| | | <span>{{ data.baseInfo[0].compareScore | percentage}}</span> |
| | | </p> |
| | | <p |
| | | :style="data.baseInfo[0].bwType == '0' ? 'font-size:12px;line-height:20px' : 'color:red;font-size:12px;line-height:20px'" |
| | | >{{ data.baseInfo[0].tableName }}</p> |
| | | :style=" |
| | | data.baseInfo[0].bwType == '0' |
| | | ? 'font-size:12px;line-height:20px' |
| | | : 'color:red;font-size:12px;line-height:20px' |
| | | " |
| | | > |
| | | {{ data.baseInfo[0].tableName }} |
| | | </p> |
| | | <p :style="data.baseInfo[0].bwType == '0' ? '' : 'color:red'"> |
| | | <span>{{ data.baseInfo[0].targetName }}</span> |
| | | <span |
| | | v-if="data.baseInfo[0].labels" |
| | | >/ {{ data.baseInfo[0].labels | idCard}}</span> |
| | | <span>{{ data.baseInfo[0].targetName }}</span |
| | | > |
| | | <span v-if="data.baseInfo[0].labels" |
| | | >/ {{ data.baseInfo[0].labels | idCard }}</span |
| | | > |
| | | </p> |
| | | </div> |
| | | <div class="card-icon-box"> |
| | | <el-tooltip content="查找此人" placement="top" popper-class="atooltip" style="margin-left:10px"> |
| | | <i class="iconfont iconsousuoren" @click="tosearch(data)" title="查找此人"></i> |
| | | <el-tooltip |
| | | content="查找此人" |
| | | placement="top" |
| | | popper-class="atooltip" |
| | | style="margin-left: 10px" |
| | | > |
| | | <i |
| | | class="iconfont iconsousuoren" |
| | | @click="tosearch(data)" |
| | | title="查找此人" |
| | | ></i> |
| | | </el-tooltip> |
| | | </div> |
| | | </div> |
| | |
| | | @mouseleave="cardMouseleave($event)" |
| | | > |
| | | <p :title="data.picDate"> |
| | | <span class="fontStyle color222">{{ data.picDate | formatTime }}</span> |
| | | <span class="fontStyle color222">{{ |
| | | data.picDate | formatTime |
| | | }}</span> |
| | | </p> |
| | | <p :title="data.cameraAddr" style="margin-bottom: 8px;"> |
| | | <p :title="data.cameraAddr" style="margin-bottom: 8px"> |
| | | <span class="fontStyle color222">{{ data.cameraAddr }}</span> |
| | | </p> |
| | | <el-tooltip placement="right" popper-class="atooltip"> |
| | | <div slot="content"> |
| | | <p v-for="(item,index) in data.alarmRules" :key="index+'rule'"> |
| | | <span>{{data.taskName}}</span> |
| | | <span v-if="item.alarmLevel !== '撤防'">{{item.alarmLevel}}</span> |
| | | <span>{{ data.taskName }}</span |
| | | > |
| | | <span v-if="item.alarmLevel !== '撤防'">{{ |
| | | item.alarmLevel |
| | | }}</span |
| | | > |
| | | <span v-if="item.linkInfo == '联动任务'"> 联动任务</span> |
| | | </p> |
| | | </div> |
| | | <el-button |
| | | style="border:none;padding:0;overflow:hidden;text-overflow:ellipsis;cursor:default;width:100%;text-align:left" |
| | | style=" |
| | | border: none; |
| | | padding: 0; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | cursor: default; |
| | | width: 100%; |
| | | text-align: left; |
| | | " |
| | | > |
| | | <span |
| | | v-for="(item,index) in data.alarmRules" |
| | | :key="index+'rule1'" |
| | | style="text-overflow:ellipsis;max-width:100px" |
| | | > |
| | | <span class="fontStyle color666">{{data.taskName}}</span> |
| | | <span class="fontStyle color666">{{ data.taskName }}</span |
| | | > |
| | | <span |
| | | class="fontStyle color666" |
| | | v-if="item.alarmLevel !== '撤防'" |
| | | >{{item.alarmLevel}}</span> |
| | | <span class="fontStyle color666" v-if="item.linkInfo == '联动任务'"> 联动任务</span> |
| | | >{{ item.alarmLevel }}</span |
| | | > |
| | | <span |
| | | class="fontStyle color666" |
| | | v-if="item.linkInfo == '联动任务'" |
| | | > 联动任务</span |
| | | > |
| | | <span v-if="index < data.alarmRules.length-1">/ </span> |
| | | </span> |
| | | </el-button> |
| | |
| | | <div class="right-bottom"> |
| | | <div v-if="!data.id" class="card-icon-box"> |
| | | <!-- <i class="iconfont systemxing ml50" title="收藏" ></i> --> |
| | | <el-tooltip content="查找此人" placement="top" popper-class="atooltip"> |
| | | <el-tooltip |
| | | content="查找此人" |
| | | placement="top" |
| | | popper-class="atooltip" |
| | | > |
| | | <i class="iconfont iconsousuoren ml50" @click="tosearch(data)"></i> |
| | | </el-tooltip> |
| | | </div> |
| | |
| | | <el-tooltip content="详情" placement="top" popper-class="atooltip"> |
| | | <i class="iconfont iconcaidan" @click="detailsClick($event)"></i> |
| | | </el-tooltip> |
| | | <el-tooltip content="查找此人" placement="top" popper-class="atooltip"> |
| | | <el-tooltip |
| | | content="查找此人" |
| | | placement="top" |
| | | popper-class="atooltip" |
| | | > |
| | | <i class="iconfont iconsousuoren" @click="tosearch(data)"></i> |
| | | </el-tooltip> |
| | | <el-tooltip content="加入底库" placement="top" popper-class="atooltip"> |
| | | <el-tooltip |
| | | content="加入底库" |
| | | placement="top" |
| | | popper-class="atooltip" |
| | | > |
| | | <i class="iconfont icontianjiaren" @click="toAdd(data)"></i> |
| | | </el-tooltip> |
| | | <el-tooltip content="收藏" placement="top" popper-class="atooltip"> |
| | |
| | | <p |
| | | class="score" |
| | | v-if="VideoPhotoData.uploadType" |
| | | style="font-family: PingFangSC-Medium;font-size: 20px;color: #3D68E1;letter-spacing: 0.4px;" |
| | | style=" |
| | | font-family: PingFangSC-Medium; |
| | | font-size: 20px; |
| | | color: #3d68e1; |
| | | letter-spacing: 0.4px; |
| | | " |
| | | > |
| | | <span v-if="data.id">{{ data.compareScore | percentage}}</span> |
| | | <span v-else>{{ data.baseInfo[0].compareScore | percentage}}</span> |
| | | </p> |
| | | <p :title="data.picDate"> |
| | | <span class="fontStyle color222">{{ data.picDate | formatTime }}</span> |
| | | <span class="fontStyle color222">{{ |
| | | data.picDate | formatTime |
| | | }}</span> |
| | | </p> |
| | | <p :title="data.cameraAddr" style="margin-bottom: 8px;"> |
| | | <p :title="data.cameraAddr" style="margin-bottom: 8px"> |
| | | <span class="fontStyle color222">{{ data.cameraAddr }}</span> |
| | | </p> |
| | | <el-tooltip placement="right" popper-class="atooltip" v-if="!VideoPhotoData.uploadType"> |
| | | <el-tooltip |
| | | placement="right" |
| | | popper-class="atooltip" |
| | | v-if="!VideoPhotoData.uploadType" |
| | | > |
| | | <div slot="content"> |
| | | <p v-for="(item,index) in data.alarmRules" :key="index+'rule2'"> |
| | | <span class="fontStyle">{{data.taskName}}</span> |
| | | <span |
| | | class="fontStyle" |
| | | v-if="item.alarmLevel !== '撤防'" |
| | | >{{item.alarmLevel}}</span> |
| | | <span v-if="item.linkInfo == '联动任务'" class="fontStyle"> 联动任务</span> |
| | | <span class="fontStyle">{{ data.taskName }}</span |
| | | > |
| | | <span class="fontStyle" v-if="item.alarmLevel !== '撤防'">{{ |
| | | item.alarmLevel |
| | | }}</span |
| | | > |
| | | <span v-if="item.linkInfo == '联动任务'" class="fontStyle" |
| | | > 联动任务</span |
| | | > |
| | | <span v-if="index < data.alarmRules.length-1">/ </span> |
| | | </p> |
| | | </div> |
| | | <el-button |
| | | style="border:none;padding:0;margin:0px;overflow:hidden;text-overflow:ellipsis;cursor:default;width:100%;text-align:left" |
| | | style=" |
| | | border: none; |
| | | padding: 0; |
| | | margin: 0px; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | cursor: default; |
| | | width: 100%; |
| | | text-align: left; |
| | | " |
| | | > |
| | | <span v-for="(item,index) in data.alarmRules" :key="index+'rule3'"> |
| | | <span class="fontStyle color666">{{data.taskName}}</span> |
| | | <span |
| | | v-for="(item, index) in data.alarmRules" |
| | | :key="index + 'rule3'" |
| | | > |
| | | <span class="fontStyle color666">{{ data.taskName }}</span |
| | | > |
| | | <span |
| | | class="fontStyle color666" |
| | | v-if="item.alarmLevel !== '撤防'" |
| | | >{{item.alarmLevel}}</span> |
| | | <span v-if="item.linkInfo == '联动任务'" class="fontStyle color666"> 联动任务</span> |
| | | >{{ item.alarmLevel }}</span |
| | | > |
| | | <span |
| | | v-if="item.linkInfo == '联动任务'" |
| | | class="fontStyle color666" |
| | | > 联动任务</span |
| | | > |
| | | <span v-if="index < data.alarmRules.length-1">/ </span> |
| | | </span> |
| | | </el-button> |
| | |
| | | > |
| | | <div slot="content"> |
| | | <p v-for="(item,index) in data.baseInfo" :key="index+'base1'"> |
| | | <span class="fontStyle">{{item.tableName}}</span> |
| | | <span class="fontStyle" v-if="item.targetName.length">/ {{item.targetName}}</span> |
| | | <span |
| | | class="fontStyle" |
| | | v-if="item.labels.length" |
| | | >/ {{item.labels | idCard}}</span> |
| | | <span class="fontStyle" v-if="item.labels.length">/ {{item.labels | sex}}</span> |
| | | <span class="fontStyle">{{ item.tableName }}</span |
| | | > |
| | | <span class="fontStyle" v-if="item.targetName.length" |
| | | >/ {{ item.targetName }}</span |
| | | > |
| | | <span class="fontStyle" v-if="item.labels.length" |
| | | >/ {{ item.labels | idCard }}</span |
| | | > |
| | | <span class="fontStyle" v-if="item.labels.length" |
| | | >/ {{ item.labels | sex }}</span |
| | | > |
| | | </p> |
| | | </div> |
| | | <el-button |
| | | style="border:none;padding:0;margin:0px;overflow:hidden;text-overflow:ellipsis;cursor:default;width:100%;text-align:left" |
| | | style=" |
| | | border: none; |
| | | padding: 0; |
| | | margin: 0px; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | cursor: default; |
| | | width: 100%; |
| | | text-align: left; |
| | | " |
| | | > |
| | | <span |
| | | v-for="(item,index) in data.baseInfo" |
| | | :key="index+'base'" |
| | | :style="item.bwType == '1' ? 'color:red;font-size:12px;line-height:20px':'font-size:12px;line-height:20px'" |
| | | :style=" |
| | | item.bwType == '1' |
| | | ? 'color:red;font-size:12px;line-height:20px' |
| | | : 'font-size:12px;line-height:20px' |
| | | " |
| | | > |
| | | <span class="fontStyle">{{item.tableName}}</span> |
| | | <span class="fontStyle" v-if="item.targetName.length">/ {{item.targetName}}</span> |
| | | <span |
| | | class="fontStyle" |
| | | v-if="item.labels.length" |
| | | >/ {{item.labels | idCard}}</span> |
| | | <span class="fontStyle" v-if="item.labels.length">/ {{item.labels |sex }}</span> |
| | | <span class="fontStyle">{{ item.tableName }}</span |
| | | > |
| | | <span class="fontStyle" v-if="item.targetName.length" |
| | | >/ {{ item.targetName }}</span |
| | | > |
| | | <span class="fontStyle" v-if="item.labels.length" |
| | | >/ {{ item.labels | idCard }}</span |
| | | > |
| | | <span class="fontStyle" v-if="item.labels.length" |
| | | >/ {{ item.labels | sex }}</span |
| | | > |
| | | </span> |
| | | </el-button> |
| | | </el-tooltip> |
| | |
| | | style="margin-top:5px" |
| | | > |
| | | <div slot="content"> |
| | | <span :style="'color:red;font-size:14px;line-height:20px'">{{data.showLabels}}</span> |
| | | <span :style="'color:red;font-size:14px;line-height:20px'">{{ |
| | | data.showLabels |
| | | }}</span> |
| | | </div> |
| | | <el-button |
| | | style="border:none;padding:0;margin:0px;overflow:hidden;text-overflow:ellipsis;cursor:default;width:100%;text-align:left" |
| | | style=" |
| | | border: none; |
| | | padding: 0; |
| | | margin: 0px; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | cursor: default; |
| | | width: 100%; |
| | | text-align: left; |
| | | " |
| | | > |
| | | <span :style=" 'color:red;font-size:14px;line-height:20px'">{{data.showLabels}}</span> |
| | | <span :style="'color:red;font-size:14px;line-height:20px'">{{ |
| | | data.showLabels |
| | | }}</span> |
| | | </el-button> |
| | | </el-tooltip> |
| | | </div> |
| | |
| | | <div v-if="!data.id" class="card-icon-box"> |
| | | <!-- 底库人员 --> |
| | | <!-- <i class="iconfont systemxing ml50" title="收藏" ></i> --> |
| | | <el-tooltip content="查找此人" placement="top" popper-class="atooltip"> |
| | | <el-tooltip |
| | | content="查找此人" |
| | | placement="top" |
| | | popper-class="atooltip" |
| | | > |
| | | <i class="iconfont iconsousuoren ml50" @click="tosearch(data)"></i> |
| | | </el-tooltip> |
| | | </div> |
| | |
| | | > |
| | | <div> |
| | | <p :title="data.picDate"> |
| | | <span class="fontStyle color222">{{ data.picDate | formatTime }}</span> |
| | | <span class="fontStyle color222">{{ |
| | | data.picDate | formatTime |
| | | }}</span> |
| | | </p> |
| | | <p :title="data.cameraAddr" style="margin-bottom: 8px;"> |
| | | <p :title="data.cameraAddr" style="margin-bottom: 8px"> |
| | | <span class="fontStyle color222">{{ data.cameraAddr }}</span> |
| | | </p> |
| | | <p v-for="(item,index) in data.alarmRules" :key="index+'rule'"> |
| | | <span class="fontStyle color666">{{data.taskName}}</span> / |
| | | <span class="fontStyle color666">{{item.alarmLevel}}</span> / |
| | | <span v-if="item.linkInfo == '联动任务'" class="fontStyle color666">联动任务</span> |
| | | <span class="fontStyle color666">{{ data.taskName }}</span |
| | | > / |
| | | <span class="fontStyle color666">{{ item.alarmLevel }}</span |
| | | > / |
| | | <span |
| | | v-if="item.linkInfo == '联动任务'" |
| | | class="fontStyle color666" |
| | | >联动任务</span |
| | | > |
| | | <span v-if="index < data.alarmRules.length-1">/ </span> |
| | | </p> |
| | | </div> |
| | |
| | | "m+": this.getMinutes(), //分 |
| | | "s+": this.getSeconds(), //秒 |
| | | "q+": Math.floor((this.getMonth() + 3) / 3), //季度 |
| | | "S": this.getMilliseconds() //毫秒 |
| | | S: this.getMilliseconds(), //毫秒 |
| | | }; |
| | | if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); |
| | | 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))); |
| | | 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 { |
| | | mounted() { |
| | | //window.addEventListener("resize", this.watchWindow); |
| | | window.addEventListener("resize", this.getBottom) |
| | | window.addEventListener("resize", this.getBottom); |
| | | }, |
| | | props: { |
| | | data: { |
| | | type: Object, |
| | | default: null |
| | | default: null, |
| | | }, |
| | | showType: { |
| | | type: String, |
| | | default: "search" |
| | | default: "search", |
| | | }, |
| | | fromCluster: { |
| | | type: Boolean, |
| | | default: false |
| | | default: false, |
| | | }, |
| | | searchT: {} |
| | | searchT: {}, |
| | | }, |
| | | computed: { |
| | | isId() { |
| | | return this.data.id |
| | | } |
| | | return this.data.id; |
| | | }, |
| | | }, |
| | | filters: { |
| | | formatTime(t) { |
| | | return new Date(t).Format("yyyy-MM-dd HH:mm:ss") |
| | | return new Date(t).Format("yyyy-MM-dd HH:mm:ss"); |
| | | }, |
| | | percentage(score) { |
| | | return score.toFixed(2) + "%" |
| | | return score.toFixed(2) + "%"; |
| | | }, |
| | | idCard(v) { |
| | | try { |
| | | let obj = JSON.parse(v) |
| | | return obj.idCard |
| | | let obj = JSON.parse(v); |
| | | return obj.idCard; |
| | | } catch (error) { |
| | | return v.split("/")[1] |
| | | return v.split("/")[1]; |
| | | } |
| | | }, |
| | | sex(v) { |
| | | try { |
| | | let obj = JSON.parse(v) |
| | | return obj.sex |
| | | let obj = JSON.parse(v); |
| | | return obj.sex; |
| | | } catch (error) { |
| | | return v.split("/")[0] |
| | | return v.split("/")[0]; |
| | | } |
| | | }, |
| | | httpImage(url) { |
| | | if (!url.length) { |
| | | return "" |
| | | return ""; |
| | | } |
| | | return '/httpImage/' + url + ((url.indexOf("?") >= 0) ? '&' : '?') + 'width=160' |
| | | } |
| | | return ( |
| | | "/httpImage/" + url + (url.indexOf("?") >= 0 ? "&" : "?") + "width=160" |
| | | ); |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | initialIndex: 0, |
| | | carouselIndex: 0, |
| | | dialogVisible: false, |
| | | overflowState: true |
| | | overflowState: true, |
| | | }; |
| | | }, |
| | | watch: { |
| | | data: { |
| | | handler(val, oldVal) { |
| | | this.$forceUpdate() |
| | | this.$forceUpdate(); |
| | | }, |
| | | deep: true |
| | | } |
| | | deep: true, |
| | | }, |
| | | }, |
| | | methods: { |
| | | getBottom() { |
| | | this.$nextTick(() => { |
| | | let imgDom = this.$refs.firstImg |
| | | let imgDom = this.$refs.firstImg; |
| | | if (imgDom) { |
| | | let num = (imgDom.offsetHeight - imgDom.offsetWidth) / 2 |
| | | let num = (imgDom.offsetHeight - imgDom.offsetWidth) / 2; |
| | | return `${num}px`; |
| | | } |
| | | return `4px`; |
| | | }) |
| | | }); |
| | | }, |
| | | getUrl(bwtype) { |
| | | if (bwtype == 1) { |
| | | return `url(${require("@/assets/img/red.png")})` |
| | | return `url(${require("@/assets/img/red.png")})`; |
| | | } else { |
| | | return `url(${require("@/assets/img/green.png")})` |
| | | return `url(${require("@/assets/img/green.png")})`; |
| | | } |
| | | }, |
| | | changeInitialIndex(index) { |
| | |
| | | this.$emit("addToBase", item); |
| | | }, |
| | | tosearch(item) { |
| | | this.searchT |
| | | let captureId = item.id == "" ? item.baseInfo[0].targetId : item.id |
| | | let imgUrl = item.targetInfo ? item.targetInfo[0].picSmUrl : item.baseInfo[0].targetPicUrl |
| | | let compType = 1 // 数据来自于es |
| | | this.searchT; |
| | | let captureId = item.id == "" ? item.baseInfo[0].targetId : item.id; |
| | | let imgUrl = item.targetInfo |
| | | ? item.targetInfo[0].picSmUrl |
| | | : item.baseInfo[0].targetPicUrl; |
| | | let compType = 1; // 数据来自于es |
| | | if (!item.id || item.id == "") { |
| | | compType = 0 // 数据来自于底库 |
| | | compType = 0; // 数据来自于底库 |
| | | } |
| | | let message |
| | | let message; |
| | | if (this.fromCluster) { |
| | | message = 'toCluster?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + imgUrl + '&compType=' + compType + '×tamp=' + new Date().getTime() + '&start=' + this.searchT[0] + '&end=' + this.searchT[1]; |
| | | message = |
| | | "toCluster?showType=findByPic&targetId=" + |
| | | captureId + |
| | | "&picSmUrl=" + |
| | | imgUrl + |
| | | "&compType=" + |
| | | compType + |
| | | "×tamp=" + |
| | | new Date().getTime() + |
| | | "&start=" + |
| | | this.searchT[0] + |
| | | "&end=" + |
| | | this.searchT[1]; |
| | | } else { |
| | | message = 'toSearch?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + imgUrl + '&compType=' + compType + '×tamp=' + new Date().getTime() + '&start=' + this.searchT[0] + '&end=' + this.searchT[1]; |
| | | message = |
| | | "toSearch?showType=findByPic&targetId=" + |
| | | captureId + |
| | | "&picSmUrl=" + |
| | | imgUrl + |
| | | "&compType=" + |
| | | compType + |
| | | "×tamp=" + |
| | | new Date().getTime() + |
| | | "&start=" + |
| | | this.searchT[0] + |
| | | "&end=" + |
| | | this.searchT[1]; |
| | | } |
| | | window.parent.postMessage({ |
| | | msg: message |
| | | }, "*") |
| | | } |
| | | } |
| | | window.parent.postMessage( |
| | | { |
| | | msg: message, |
| | | }, |
| | | "*" |
| | | ); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="scss"> |