| | |
| | | <div class="card-img-box-compear"> |
| | | <div class="card-img-box-compear-left" ref="firstImg"> |
| | | <img |
| | | :src="'/httpImage/'+data.targetInfo[0].picSmUrl+'?width=160'" |
| | | :src="data.targetInfo[0].picSmUrl | httpImage" |
| | | :id="'/compear/'+data.targetInfo[0].picSmUrl" |
| | | class="cursor-pointer" |
| | | @click="detailsClick($event)" |
| | |
| | | > |
| | | <el-carousel-item v-for="(item, index) in data.baseInfo" :key="index"> |
| | | <img |
| | | :src="'/httpImage/'+item.targetPicUrl+'?width=160'" |
| | | :src="item.targetPicUrl | httpImage" |
| | | class="cursor-pointer" |
| | | @click="detailsClick($event)" |
| | | /> |
| | |
| | | @change="changeCarousel" |
| | | > |
| | | <el-carousel-item v-for="(item, index) in data.picMaxUrl" :key="index + 'img'"> |
| | | <img |
| | | :src="'/httpImage/'+item+'?width=160'" |
| | | class="cursor-pointer" |
| | | @click="detailsClick($event)" |
| | | /> |
| | | <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].picSmUrl == ''" |
| | | :src="'/httpImage/'+data.picMaxUrl[0]+'?width=160'" |
| | | :src="data.picMaxUrl[0] | httpImage" |
| | | class="cursor-pointer" |
| | | @click="detailsClick($event)" |
| | | /> |
| | | <img |
| | | v-else |
| | | :src="'/httpImage/'+data.targetInfo[0].picSmUrl+'?width=160'" |
| | | :src="data.targetInfo[0].picSmUrl | httpImage" |
| | | class="cursor-pointer" |
| | | @click="detailsClick($event)" |
| | | /> |
| | | </div> |
| | | <div class="s-card-left-box" v-else> |
| | | <img :src="'/httpImage/'+data.baseInfo[0].targetPicUrl+'?width=160'" class="cursor-pointer" /> |
| | | <img :src="data.baseInfo[0] | httpImage" class="cursor-pointer" /> |
| | | </div> |
| | | </div> |
| | | <!-- 右侧文字区域 --> |
| | |
| | | @mouseleave="cardMouseleave($event)" |
| | | > |
| | | <p> |
| | | <span class="fontStyle color222">{{ data.picDate }}</span> |
| | | <span class="fontStyle color222">{{ data.picDate | formatTime}}</span> |
| | | </p> |
| | | <p style="margin-bottom: 8px;"> |
| | | <span class="fontStyle color222">{{ data.cameraAddr }}</span> |
| | |
| | | <span |
| | | class="fontStyle" |
| | | v-if="data.baseInfo[initialIndex].labels" |
| | | >/ {{ data.baseInfo[initialIndex].labels.split("/")[1] }}</span> |
| | | >/ {{ data.baseInfo[initialIndex].labels | idCard}}</span> |
| | | <span |
| | | class="fontStyle" |
| | | v-if="data.baseInfo[initialIndex].monitorLevel" |
| | |
| | | <span |
| | | class="fontStyle" |
| | | v-if="data.baseInfo[initialIndex].labels" |
| | | >/ {{ data.baseInfo[initialIndex].labels.split("/")[1] }}</span> |
| | | >/ {{ data.baseInfo[initialIndex].labels | idCard}}</span> |
| | | <span |
| | | class="fontStyle" |
| | | v-if="data.baseInfo[initialIndex].monitorLevel" |
| | |
| | | <span>{{ data.baseInfo[0].targetName }}</span> |
| | | <span |
| | | v-if="data.baseInfo[0].labels" |
| | | >/ {{ data.baseInfo[0].labels.split("/")[1] }}</span> |
| | | >/ {{ data.baseInfo[0].labels | idCard}}</span> |
| | | </p> |
| | | </div> |
| | | <div class="card-icon-box"> |
| | |
| | | @mouseleave="cardMouseleave($event)" |
| | | > |
| | | <p :title="data.picDate"> |
| | | <span class="fontStyle color222">{{ data.picDate }}</span> |
| | | <span class="fontStyle color222">{{ data.picDate | formatTime }}</span> |
| | | </p> |
| | | <p :title="data.cameraAddr" style="margin-bottom: 8px;"> |
| | | <span class="fontStyle color222">{{ data.cameraAddr }}</span> |
| | |
| | | <span v-else>{{ data.baseInfo[0].compareScore | percentage}}</span> |
| | | </p> |
| | | <p :title="data.picDate"> |
| | | <span class="fontStyle color222">{{ data.picDate }}</span> |
| | | <span class="fontStyle color222">{{ data.picDate | formatTime }}</span> |
| | | </p> |
| | | <p :title="data.cameraAddr" style="margin-bottom: 8px;"> |
| | | <span class="fontStyle color222">{{ data.cameraAddr }}</span> |
| | |
| | | <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 !== ''">/ {{item.targetName}}</span> |
| | | <span class="fontStyle" v-if="item.targetName.length">/ {{item.targetName}}</span> |
| | | <span |
| | | class="fontStyle" |
| | | v-if="item.labels !== '' && item.labels.split('/')[1] !== ''" |
| | | >/ {{item.labels.split("/")[1]}}</span> |
| | | <span |
| | | class="fontStyle" |
| | | v-if="item.labels !== '' && item.labels.split('/')[0] !== ''" |
| | | >/ {{item.labels.split("/")[0]}}</span> |
| | | 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="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 !== ''">/ {{item.targetName}}</span> |
| | | <span class="fontStyle" v-if="item.targetName.length">/ {{item.targetName}}</span> |
| | | <span |
| | | class="fontStyle" |
| | | v-if="item.labels !== '' && item.labels.split('/')[1] !== ''" |
| | | >/ {{item.labels.split("/")[1]}}</span> |
| | | <span |
| | | class="fontStyle" |
| | | v-if="item.labels !== '' && item.labels.split('/')[0] !== ''" |
| | | >/ {{item.labels.split("/")[0]}}</span> |
| | | 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> |
| | |
| | | > |
| | | <div> |
| | | <p :title="data.picDate"> |
| | | <span class="fontStyle color222">{{ data.picDate }}</span> |
| | | <span class="fontStyle color222">{{ data.picDate | formatTime }}</span> |
| | | </p> |
| | | <p :title="data.cameraAddr" style="margin-bottom: 8px;"> |
| | | <span class="fontStyle color222">{{ data.cameraAddr }}</span> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | 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), //季度 |
| | | "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 { |
| | | mounted() { |
| | | window.addEventListener("resize", this.watchWindow); |
| | |
| | | } |
| | | }, |
| | | filters: { |
| | | formatTime(t) { |
| | | return new Date(t).Format("yyyy-MM-dd HH:mm:ss") |
| | | }, |
| | | percentage(score) { |
| | | return score.toFixed(2) + "%" |
| | | }, |
| | | idCard(v) { |
| | | try { |
| | | let obj = JSON.parse(v) |
| | | return obj.idCard |
| | | } catch (error) { |
| | | return v.split("/")[1] |
| | | } |
| | | }, |
| | | sex(v) { |
| | | try { |
| | | let obj = JSON.parse(v) |
| | | return obj.sex |
| | | } catch (error) { |
| | | return v.split("/")[0] |
| | | } |
| | | }, |
| | | httpImage(url) { |
| | | return '/httpImage/' + url + ((url.indexOf("?") >= 0) ? '&' : '?') + 'width=160' |
| | | } |
| | | }, |
| | | data() { |
| | |
| | | watch: { |
| | | data: { |
| | | handler(val, oldVal) { |
| | | console.log('数据发生变化') |
| | | this.$forceUpdate() |
| | | }, |
| | | deep: true |
| | |
| | | this.$emit("detailsClick", ev); |
| | | }, |
| | | toAdd(item) { |
| | | console.log("触发加入底库") |
| | | this.$emit("addToBase", item); |
| | | }, |
| | | tosearch(item) { |
| | |
| | | if (!item.id || item.id == "") { |
| | | compType = 0 // 数据来自于底库 |
| | | } |
| | | // window.open(href + '?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + url + '&compType=' + compType) |
| | | |
| | | let message = 'toSearch?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + imgUrl + '&compType=' + compType; |
| | | let message = 'toSearch?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + imgUrl + '&compType=' + compType + '×tamp=' + new Date().getTime(); |
| | | //let message = 'toSearch?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + imgUrl + '&compType=' + compType; |
| | | window.parent.postMessage({ |
| | | msg: message |
| | | }, "*") |