|
@@ -3,14 +3,50 @@
|
|
|
<div class="leftAssembly">
|
|
|
<div class="titles">设备列表</div>
|
|
|
<div class="componentsBlock">
|
|
|
- <div class="devList active" v-for="(item, index) in devList" :key="index">{{ item.deviceName }}</div>
|
|
|
+ <div class="devList active" @click="clickPlay(item.deviceCode)" v-for="(item, index) in devList" :key="index">
|
|
|
+ {{ item.deviceName }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="contentShow">
|
|
|
- <div></div>
|
|
|
- <div></div>
|
|
|
+ <div class="topBlock">
|
|
|
+ <div class="separateBlock">
|
|
|
+ <div class="listBlock bg1">
|
|
|
+ <div class="font30">298</div>
|
|
|
+ <div class="titleText">设备总数</div>
|
|
|
+ </div>
|
|
|
+ <div class="listBlock bg2">
|
|
|
+ <div class="font30">298</div>
|
|
|
+ <div class="titleText">设备在线数</div>
|
|
|
+ </div>
|
|
|
+ <div class="listBlock bg3">
|
|
|
+ <div class="font30">298</div>
|
|
|
+ <div class="titleText">设备离线数</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="hopBlock">
|
|
|
+ <div class="itemBlock">
|
|
|
+ <div class="font30 mainText">298</div>
|
|
|
+ <div class="titleText">今日客流</div>
|
|
|
+ </div>
|
|
|
+ <div class="itemBlock">
|
|
|
+ <div class="font30 greenText">298</div>
|
|
|
+ <div class="titleText">本周客流</div>
|
|
|
+ </div>
|
|
|
+ <div class="itemBlock">
|
|
|
+ <div class="font30 redText">298</div>
|
|
|
+ <div class="titleText">本月客流</div>
|
|
|
+ </div>
|
|
|
+ <div class="itemBlock">
|
|
|
+ <div class="font30 violetText">298</div>
|
|
|
+ <div class="titleText">本年客流</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="videoView">
|
|
|
+ <video-list :videoUrlList="videoUrlList"></video-list>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <!-- <video-list :videoUrlList="videoUrlList"></video-list> -->
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -23,7 +59,8 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- devList: []
|
|
|
+ devList: [],
|
|
|
+ videoUrlList: []
|
|
|
};
|
|
|
},
|
|
|
watch: {
|
|
@@ -41,52 +78,127 @@ export default {
|
|
|
this.devList = data;
|
|
|
console.log(data);
|
|
|
});
|
|
|
+ },
|
|
|
+ clickPlay(val) {
|
|
|
+ this.videoUrlList = [val];
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang='scss'>
|
|
|
+@import '@assets/css/public-style.scss';
|
|
|
.realVideoBox {
|
|
|
height: 100%;
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
}
|
|
|
.leftAssembly {
|
|
|
- width: 300px;
|
|
|
+ width: rem(300);
|
|
|
background: #171f32;
|
|
|
- border-radius: 4px;
|
|
|
+ border-radius: rem(4);
|
|
|
box-sizing: border-box;
|
|
|
- padding: 20px;
|
|
|
+ padding: rem(20);
|
|
|
color: white;
|
|
|
.titles {
|
|
|
border-bottom: 1px solid rgba(224, 225, 227, 0.2);
|
|
|
- padding-bottom: 20px;
|
|
|
- margin-bottom: 20px;
|
|
|
+ padding-bottom: rem(20);
|
|
|
+ margin-bottom: rem(20);
|
|
|
}
|
|
|
.componentsBlock {
|
|
|
- height: calc(100% - 60px);
|
|
|
+ height: calc(100% - #{rem(60)});
|
|
|
overflow-y: auto;
|
|
|
overflow-x: hidden;
|
|
|
+ &::-webkit-scrollbar {
|
|
|
+ z-index: 11;
|
|
|
+ width: rem(4);
|
|
|
+ }
|
|
|
+ &::-webkit-scrollbar-track,
|
|
|
+ &::-webkit-scrollbar-corner {
|
|
|
+ background: transparent;
|
|
|
+ }
|
|
|
+ &::-webkit-scrollbar-thumb {
|
|
|
+ border-radius: rem(5);
|
|
|
+ width: rem(4);
|
|
|
+ background: rgba(250, 250, 250, 0.09);
|
|
|
+ }
|
|
|
+ &::-webkit-scrollbar-track-piece {
|
|
|
+ background: transparent;
|
|
|
+ width: rem(4);
|
|
|
+ }
|
|
|
}
|
|
|
.devList {
|
|
|
- height: 30px;
|
|
|
- line-height: 30px;
|
|
|
- padding: 0 10px;
|
|
|
+ height: rem(30);
|
|
|
+ line-height: rem(30);
|
|
|
+ padding: 0 rem(10);
|
|
|
+ cursor: pointer;
|
|
|
&.active {
|
|
|
background: #0eaeff36;
|
|
|
- border-radius: 4px;
|
|
|
+ border-radius: rem(4);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
.contentShow {
|
|
|
- border: 1px solid #171f32;
|
|
|
- width: calc(100% - 320px);
|
|
|
- border-radius: 4px;
|
|
|
- padding: 0.1rem;
|
|
|
+ width: calc(100% - #{rem(320)});
|
|
|
+ border-radius: rem(4);
|
|
|
height: 100%;
|
|
|
- display: grid;
|
|
|
- grid-template-columns: 2fr 2fr 2fr 2fr;
|
|
|
- grid-template-rows: 1fr 1fr 1fr;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ flex-direction: column;
|
|
|
+ .topBlock {
|
|
|
+ height: rem(100);
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ color: white;
|
|
|
+ .separateBlock {
|
|
|
+ width: rem(580);
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+
|
|
|
+ .listBlock {
|
|
|
+ width: rem(180);
|
|
|
+ border-radius: rem(10);
|
|
|
+ padding: rem(20);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .hopBlock {
|
|
|
+ width: calc(100% - #{rem(600)});
|
|
|
+ display: flex;
|
|
|
+ background: #171f32;
|
|
|
+ border-radius: rem(10);
|
|
|
+ border: 1px solid rgba(255, 255, 255, 0.2);
|
|
|
+ padding: rem(20) 0;
|
|
|
+ .itemBlock {
|
|
|
+ width: calc(100% / 4);
|
|
|
+ padding-left: rem(20);
|
|
|
+ box-sizing: border-box;
|
|
|
+ &:not(:last-child) {
|
|
|
+ border-right: 1px solid rgba(255, 255, 255, 0.2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .videoView {
|
|
|
+ height: calc(100% - #{rem(120)});
|
|
|
+ background: #171f32;
|
|
|
+ border-radius: rem(4);
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
+}
|
|
|
+.bg1 {
|
|
|
+ background: linear-gradient(135deg, #488fff 0%, #65dcff 100%);
|
|
|
+}
|
|
|
+.bg2 {
|
|
|
+ background: linear-gradient(315deg, #5eedcc 0%, #24c3f1 100%);
|
|
|
+}
|
|
|
+.bg3 {
|
|
|
+ background: linear-gradient(135deg, #f0646c 0%, #f4994e 100%);
|
|
|
+}
|
|
|
+.titleText {
|
|
|
+ font-size: rem(12);
|
|
|
+ margin-top: rem(5);
|
|
|
+}
|
|
|
+.font30 {
|
|
|
+ font-size: rem(30);
|
|
|
}
|
|
|
</style>
|