From 0f70bb5e95342e1c88e16b4c12609cd45dd1b103 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@iotlink.com> Date: 星期五, 21 五月 2021 14:27:47 +0800 Subject: [PATCH] add bhomebus api --- src/components/subComponents/ModelCard.vue | 221 ++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 139 insertions(+), 82 deletions(-) diff --git a/src/components/subComponents/ModelCard.vue b/src/components/subComponents/ModelCard.vue index febadaf..57c13f0 100644 --- a/src/components/subComponents/ModelCard.vue +++ b/src/components/subComponents/ModelCard.vue @@ -1,6 +1,6 @@ <template> <div class="model-card-box" :style="`height:${height};width:${width};`"> - <el-tabs style="height: 100%;" @before-leave="changeTabs" v-model="VideoPhotoData.activeName"> + <el-tabs style="height: 100%;" @before-leave="changeTabs" v-model="activeName"> <el-tab-pane label="澶у浘" name="pic"> <div class="model-card-box-left" @@ -12,16 +12,19 @@ <p class="img-box-title"> <b>鍏ㄦ櫙鍥�</b> </p> + <!-- 浜鸿劯绫诲瀷 --> <img-down v-if="data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''" :url="data.picMaxUrl[0]" ></img-down> - <!-- 浜鸿劯绫诲瀷 --> + + <!-- 鏅�歽olo绫� --> <img-down v-else-if="(data.targetInfo == null || data.targetInfo[0].picSmUrl == '') && data.picMaxUrl.length == 1" :url="data.picMaxUrl[0]" ></img-down> - <!-- 鏅�歽olo绫� --> + + <!-- 鎸佺画鏃堕棿yolo绫� --> <el-carousel v-else-if="(data.targetInfo == null || data.targetInfo[0].picSmUrl == '') && data.picMaxUrl.length > 1" trigger="click" @@ -32,17 +35,26 @@ <img-down :url="item"></img-down> </el-carousel-item> </el-carousel> - <!-- 鎸佺画鏃堕棿yolo绫� --> + + <!-- yolo绫诲ぇ鍥� --> <div class="describe" v-if="data.targetInfo == null || data.targetInfo[0].picSmUrl == ''" > <p> - <span class="fontStyleForModel">{{ data.picDate }}</span> + <span + class="fontStyleForModel" + style="font-weight:normal" + >{{ data.picDate | formatTime }}</span> </p> <p> <span class="fontStyleForModel">{{ data.cameraAddr }}</span> + <span + class="fontStyleForModel analyServer" + style="margin-left:20px;" + >{{ data.analyServerName }}</span> </p> + <p></p> <p style="width:100%"> <span v-for="(item,index) in data.alarmRules" :key="index+'rule'"> <span class="fontStyleForModel">{{data.taskName}}</span> @@ -55,13 +67,22 @@ </span> </p> </div> - <!-- yolo绫诲ぇ鍥� --> + + <!-- 浜鸿劯绫诲ぇ鍥� --> <div class="describeBigImage" v-else> <p> - <span class="fontStyleForModel">{{ data.picDate }}</span> + <span class="fontStyleForModel">{{ data.picDate | formatTime}}</span> </p> - <p> - <span class="fontStyleForModel">{{ data.cameraAddr }}</span> + <p class="align-right"> + <span + class="fontStyleForModel text-overflow" + :title="data.cameraAddr" + >{{ data.cameraAddr }}</span> + <span + class="fontStyleForModel text-overflow" + :title="data.cameraAddr" + style="margin-left:20px;" + >{{ data.analyServerName }}</span> </p> <p style="width:100%"> <span v-for="(item,index) in data.alarmRules" :key="index+'rule'"> @@ -75,12 +96,15 @@ </span> </p> <p style="width:100%"> - <span class="fontStyleForModel">{{data.showLabels}}</span> + <span + style="white-space: nowrap;font-weight: 600;font-size: 13px;" + >{{data.showLabels}}</span> </p> </div> - <!-- 浜鸿劯绫诲ぇ鍥� --> </div> </div> + + <!-- 寮规鍙充晶 --> <div v-if="data.targetInfo && data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''" class="model-card-box-right" @@ -131,61 +155,45 @@ </div> </div> <div class="baseInfo" v-if="data.baseInfo && data.baseInfo[0].targetPicUrl != ''"> - <div class="baseInfo_left"> + <div class="baseInfo_list"> <p> <span class="labelInfo">搴曞簱</span> + <span + class="val" + :title="data.baseInfo[initialIndex].tableName" + >{{data.baseInfo[initialIndex].tableName}}</span> </p> <p> <span class="labelInfo">濮撳悕</span> + <span + class="val" + :title="data.baseInfo[initialIndex].targetName" + >{{data.baseInfo[initialIndex].targetName}}</span> </p> <p> <span class="labelInfo">鎬у埆</span> + <span class="val">{{data.baseInfo[initialIndex].labels | sex}}</span> </p> <p> <span class="labelInfo">韬唤璇佸彿</span> + <span class="val">{{data.baseInfo[initialIndex].labels | idCard}}</span> </p> <p> <span class="labelInfo">鎵嬫満鍙�</span> + <span class="val">{{data.baseInfo[initialIndex].labels | phoneNum}}</span> </p> <p> <span class="labelInfo">浜哄憳绛夌骇</span> - </p> - </div> - <div class="baseInfo_right"> - <p class="valueInfo"> <span - :title="data.baseInfo[initialIndex].tableName" - >{{ data.baseInfo[initialIndex].tableName }}</span> - </p> - <p class="valueInfo"> - <span - :title="data.baseInfo[initialIndex].targetName" - >{{ data.baseInfo[initialIndex].targetName }}</span> - </p> - <p class="valueInfo"> - <span - :title="data.baseInfo[initialIndex].labels.split('/')[1]" - >{{ data.baseInfo[initialIndex].labels.split("/")[1] }}</span> - </p> - <p class="valueInfo"> - <span - :title="data.baseInfo[initialIndex].labels.split('/')[2]" - >{{ data.baseInfo[initialIndex].labels.split("/")[2] }}</span> - </p> - <p class="valueInfo"> - <span - :title="data.baseInfo[initialIndex].labels.split('/')[0]" - >{{ data.baseInfo[initialIndex].labels.split("/")[0] }}</span> - </p> - <p class="valueInfo"> - <span + class="val" :title="data.baseInfo[initialIndex].monitorLevel" - >{{ data.baseInfo[initialIndex].monitorLevel }}</span> + >{{data.baseInfo[initialIndex].monitorLevel}}</span> </p> </div> </div> </div> </el-tab-pane> + <el-tab-pane label="瑙嗛" name="video" class="video-tabs"> <div class="model-card-box-left" @@ -200,11 +208,6 @@ style="margin-top: 12px;" >鎮ㄧ殑娴忚鍣ㄤ笉鏀寔 video 鏍囩銆�</video> </div> - <!-- <div class="merge"> - <el-button type="primary" @click="mergeVideo">鍚堝苟瑙嗛</el-button> - <a name="download" @click="downloadfile">涓嬭浇</a> - <a href="/httpImage/192.168.20.112:6081/31,02c86c199cd9b1" download="panlei.mp4">涓嬭浇2</a> - </div>--> </div> <div v-if="data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''" @@ -255,56 +258,39 @@ </div> </div> <div class="baseInfo" v-if="data.baseInfo && data.baseInfo[0].targetPicUrl != ''"> - <div class="baseInfo_left"> + <div class="baseInfo_list"> <p> <span class="labelInfo">搴曞簱</span> + <span + class="val" + :title="data.baseInfo[initialIndex].tableName" + >{{data.baseInfo[initialIndex].tableName}}</span> </p> <p> <span class="labelInfo">濮撳悕</span> + <span + class="val" + :title="data.baseInfo[initialIndex].targetName" + >{{data.baseInfo[initialIndex].targetName}}</span> </p> <p> <span class="labelInfo">鎬у埆</span> + <span class="val">{{data.baseInfo[initialIndex].labels | sex}}</span> </p> <p> <span class="labelInfo">韬唤璇佸彿</span> + <span class="val">{{data.baseInfo[initialIndex].labels | idCard}}</span> </p> <p> <span class="labelInfo">鎵嬫満鍙�</span> + <span class="val">{{data.baseInfo[initialIndex].labels | phoneNum}}</span> </p> <p> <span class="labelInfo">浜哄憳绛夌骇</span> - </p> - </div> - <div class="baseInfo_right"> - <p class="valueInfo"> <span - :title="data.baseInfo[initialIndex].tableName" - >{{ data.baseInfo[initialIndex].tableName }}</span> - </p> - <p class="valueInfo"> - <span - :title="data.baseInfo[initialIndex].targetName" - >{{ data.baseInfo[initialIndex].targetName }}</span> - </p> - <p class="valueInfo"> - <span - :title="data.baseInfo[initialIndex].labels.split('/')[1]" - >{{ data.baseInfo[initialIndex].labels.split("/")[1] }}</span> - </p> - <p class="valueInfo"> - <span - :title="data.baseInfo[initialIndex].labels.split('/')[2]" - >{{ data.baseInfo[initialIndex].labels.split("/")[2] }}</span> - </p> - <p class="valueInfo"> - <span - :title="data.baseInfo[initialIndex].labels.split('/')[0]" - >{{ data.baseInfo[initialIndex].labels.split("/")[0] }}</span> - </p> - <p class="valueInfo"> - <span + class="val" :title="data.baseInfo[initialIndex].monitorLevel" - >{{ data.baseInfo[initialIndex].monitorLevel }}</span> + >{{data.baseInfo[initialIndex].monitorLevel}}</span> </p> </div> </div> @@ -314,6 +300,22 @@ </div> </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), //瀛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; +} + /* eslint-disable */ import CameraPlayer from "@/components/player"; import imgDown from "@/components/subComponents/imgDown" @@ -334,15 +336,46 @@ data: "" }, filters: { + formatTime(t) { + return new Date(t).Format("yyyy-MM-dd HH:mm:ss") + }, percentage(score) { return score.toFixed(2) + "%" + }, + sex(v) { + try { + let obj = JSON.parse(v) + return obj.sex + } catch (error) { + return v.split("/")[0] + } + }, + idCard(v) { + try { + let obj = JSON.parse(v) + return obj.idCard + } catch (error) { + return v.split("/")[1] + } + }, + phoneNum(v) { + try { + let obj = JSON.parse(v) + return obj.phone + } catch (error) { + return v.split("/")[2] + } } }, mounted() { - this.VideoPhotoData.activeName = "pic" + console.log('ModelCard data', this.data); + console.log(this.data.baseInfo) + console.log(this.initialIndex) + //this.VideoPhotoData.activeName = "pic" }, data() { return { + activeName: 'pic', initialIndex: 0, }; }, @@ -393,6 +426,21 @@ .baseInfo { margin-top: 5px; text-align: left; + .baseInfo_list { + p { + display: flex; + .labelInfo { + width: 80px; + color: #999; + } + .val { + font-size: 12px; + color: #101010; + letter-spacing: 0.28px; + line-height: 20px; + } + } + } .baseInfo_left { float: left; width: 30%; @@ -461,10 +509,8 @@ b { //color: #e43933; } - width: 40%; text-align: left; - float: left; - margin: 4px 0px; + margin: 4px 0; } } .describeBigImage { @@ -473,6 +519,17 @@ float: left; margin-top: 5px; p { + &.align-right { + text-align: right; + .text-overflow { + display: inline-block; + vertical-align: top; + width: 90px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + } b { //color: #e43933; } -- Gitblit v1.8.0