cbsl-app/pages/videoPage/itemBox.vue

163 lines
4.6 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<div class="itemBox">
<div class="itemBoxHead">
<u-icon name="file-text"></u-icon>
<div class="text" :class="{ danger: this.data.danger }">
{{ this.data.name + (this.data.danger?'「汛」':'')}}
</div>
<image v-if="this.data.isStar" src="../../static/images/star.svg" class="starImg"></image>
<image v-else src="../../static/images/star2.svg" class="starImg"></image>
<div class="rl" @click="myNavigateTo">
更多
<u-icon name="arrow-right-double" size="16"></u-icon>
</div>
</div>
<div class="itemBoxBody">
<view class="image-wrapper">
<image src="../../static/images/skImg.png" class="skImg"></image>
</view>
<view class="image-wrapper-rl">
<div class="videoList">
<div v-for="item in this.data.videoList" class="videoListItem">
<image src="../../static/images/video.svg" class="videoImg"></image>
<div style="flex:1">{{ item.name }}</div>
<image src="../../static/images/videoPlay.svg" class="videoPlayImg"></image>
</div>
</div>
</view>
</div>
</div>
</template>
<script>
import moment from "moment";
export default {
components: {
},
props:{
data:Object,
},
data() {
return {
};
},
computed: {
},
methods: {
myNavigateTo() {
uni.navigateTo({
url: '/pages/rain/rain', // 跳转到对应路径的页面
});
},
},
// 在组件实例被创建后立即调用。此时可以访问到 data 和 methods但模板还未被渲染成 HTML$el 属性不可用。适合做数据初始化
created() {
},
};
</script>
<style lang="scss" scoped>
.itemBox{
padding: 5px;
.itemBoxHead{
display: flex;
align-items: center;
position: relative;
font-size: 14px;
height: 30px;
// padding: 10px 0;
.text{
margin: 0 5px;
}
.danger{
color: #F59823;
}
.starImg{
width: 14px;
height: 14px;
}
.rl{
position: absolute;
font-size: 12px;
padding: 0 5px;
right: 0px;
top: 3px;
display: flex;
align-items: center;
}
.rl:active {
background-color: #eee; /* 变深色 */
transform: scale(0.97); /* 轻微缩小 */
opacity: 0.8;
}
}
.itemBoxBody{
display: flex;
flex-direction: row;
align-items: start;
justify-content: center;
padding: 5px 10px;
.image-wrapper{
width: 35%; /* 父元素宽度的30% */
position: relative;
/* 关键padding-top 百分比相对于父元素宽度100% 表示高度 = 宽度 */
padding-top: 35%;
.skImg{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
.image-wrapper-rl{
display: flex;
flex: 1;
position: relative;
padding-top: 35%;
margin-right: 10px;
.videoList{
position: absolute;
top: 0;
left: 10px;
width: 100%;
height: 100%;
overflow-y: auto;
// display: flex;
// flex-direction: column;
// justify-content: start;
.videoListItem{
display: flex;
align-items: center;
border-bottom: 1px solid #eee;
height: 28px;
.videoImg{
width: 16px;
height: 12px;
margin-right: 5px;
}
.videoPlayImg{
width: 12px;
height: 12px;
margin-right: 5px;
}
.videoPlayImg:active {
background-color: #eee; /* 变深色 */
transform: scale(0.97); /* 轻微缩小 */
opacity: 0.8;
}
}
}
}
}
}
</style>