朔黄事件标签弹窗调试;视频检索页筛选区字号颜色统一
| | |
| | | url:'/data/api-c/slot/getlst', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | export const getEventVideo = (query:any) => request({ |
| | | url:'/data/api-c/lkg/getEventClip', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | |
| | | { min: 2, max: 10, message: "长度在2到10个字", trigger: "change" } |
| | | ] |
| | | }, |
| | | evt: {}, |
| | | treeId: '', |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | methods: { |
| | | handleCreated: function (ztreeObj) { |
| | | this.ztreeObj = ztreeObj; |
| | | debugger |
| | | // console.log("handleCreated") |
| | | // onCreated 中操作ztreeObj对象展开第一个节点 |
| | | // ztreeObj.expandNode(ztreeObj.getNodes()[0], true); |
| | |
| | | this.showDialog = true; |
| | | }, |
| | | itemClick(evt, treeId, treeNode) { |
| | | debugger |
| | | //let itemClickArgs = {evt,treeId}; |
| | | this.evt = evt; |
| | | this.treeId = treeId; |
| | | console.log(evt,treeId) |
| | | // sessionStorage.setItem('itemClickArgs',JSON.stringify(itemClickArgs)) |
| | | |
| | | this.TreeDataPool.selectedNode = treeNode; |
| | | this.TreeDataPool.treeType = this.treeName; |
| | | |
| | |
| | | <template> |
| | | <div class="event-video-content"> |
| | | <div class="video-player"> |
| | | <video src></video> |
| | | <video :src="curVideo.ClipPath" controls></video> |
| | | </div> |
| | | <div class="more-videos"> |
| | | <div class="top"> |
| | | <div class="title">更多视频</div> |
| | | <div class="total">共<span class="num">{{total}}</span>条</div> |
| | | <div class="total"> |
| | | 共 |
| | | <span class="num">{{eventVideoArr.length}}</span> |
| | | 条 |
| | | </div> |
| | | </div> |
| | | <div class="gallery"> |
| | | <div class="video-item" v-for="item in 11" :key="item"> |
| | | <img src alt /> |
| | | <div class="time"></div> |
| | | <div |
| | | class="video-item" |
| | | :class="{'act':item.ID == curVideo.ID}" |
| | | v-for="item in eventVideoArr" |
| | | :key="item.ID" |
| | | @click="checkVideo(item)" |
| | | > |
| | | <img :src="item.Cover" alt /> |
| | | <div class="time">{{item.EventTime}}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <script> |
| | | export default { |
| | | props: { |
| | | eventDetail: { |
| | | type: Object, |
| | | default: {} |
| | | }, |
| | | eventVideoArr: { |
| | | type: Array, |
| | | default: () => { return [] } |
| | | } |
| | | }, |
| | | data(){ |
| | | data () { |
| | | return { |
| | | curVideo: {}, |
| | | } |
| | | }, |
| | | watch: { |
| | | eventVideoArr (n, o) { |
| | | if (n.length) { |
| | | this.curVideo = n[0] |
| | | } |
| | | } |
| | | }, |
| | | mounted () { |
| | | //this.eventVideoArr.length && (this.curVideo = this.eventVideoArr[0]); |
| | | //this.curVideo = this.eventVideoArr[0]; |
| | | this.$nextTick(() => { |
| | | this.eventVideoArr.length && (this.curVideo = this.eventVideoArr[0]); |
| | | }) |
| | | }, |
| | | methods: { |
| | | checkVideo (data) { |
| | | this.curVideo = data; |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | <style lang="scss"> |
| | | .event-video-content { |
| | | padding: 14px; |
| | | .video-player{ |
| | | padding: 10px 14px; |
| | | .video-player { |
| | | background: #fff; |
| | | margin-bottom: 14px; |
| | | video{ |
| | | video { |
| | | margin: 20px auto; |
| | | width: 576px; |
| | | height: 324px; |
| | | background: aquamarine; |
| | | } |
| | | } |
| | | .more-videos{ |
| | | .more-videos { |
| | | background: #fff; |
| | | .top{ |
| | | .top { |
| | | padding: 10px 20px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | .total{ |
| | | .num{ |
| | | .total { |
| | | .num { |
| | | padding: 0 2px; |
| | | color: #0096fa; |
| | | } |
| | | } |
| | | } |
| | | .gallery{ |
| | | .gallery { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | padding: 0 20px 10px; |
| | | max-height: 300px; |
| | | height: 300px; |
| | | overflow-y: auto; |
| | | // &:after{ |
| | | // content: ""; |
| | | // flex: auto; |
| | | // } |
| | | .video-item{ |
| | | .video-item { |
| | | width: 200px; |
| | | height: 112.5px; |
| | | //height: 112.5px; |
| | | margin: 10px 40px; |
| | | background: rgb(200, 223, 251); |
| | | //background: rgb(200, 223, 251); |
| | | padding: 10px; |
| | | border: 1px solid #eee; |
| | | border-radius: 3px; |
| | | &.act { |
| | | border-color: #0096fa; |
| | | } |
| | | img { |
| | | width: 100%; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | > |
| | | <div class="title" slot="title"> |
| | | <i class="el-icon-connection"></i> |
| | | <span>shoubi视频</span> |
| | | <span>{{curEvName}}视频</span> |
| | | </div> |
| | | <event-videos :eventDetail="curEventDetail"></event-videos> |
| | | <event-videos :eventVideoArr="eventVideoArr"></event-videos> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | |
| | | getLabelMap, |
| | | delLabel, |
| | | editLabel, |
| | | getEventVideo |
| | | } from "@/api/shuohuang"; |
| | | import VideoAnalyze from "./videoAnalyze"; |
| | | import EventVideos from "./eventVideos"; |
| | |
| | | labelDialogVisible: false, |
| | | selectedVideo: {}, |
| | | eventDialogVisible: false, |
| | | curEventDetail: {} |
| | | curEvName: '', |
| | | eventVideoArr: [] |
| | | }; |
| | | }, |
| | | watch: { |
| | |
| | | checkEventVideo (label) { |
| | | this.eventDialogVisible = true; |
| | | this.curEventDetail = label; |
| | | let _this = this; |
| | | getEventVideo({Event:label.Event,LkgID:label.ParentID}).then(res=>{ |
| | | _this.eventVideoArr = res.data; |
| | | _this.curEvName = label.Event; |
| | | }) |
| | | }, |
| | | handleTabSizeChange (size) { |
| | | this.tabPageSize = size; |
| | |
| | | } else { |
| | | _this.tabTotal = res.total; |
| | | _this.tabData = res.data; |
| | | // debugger |
| | | _this.tabData = _this.tabData.map(function (item) { |
| | | const set = new Set() |
| | | item.LableLst.forEach(function (label) { |
| | |
| | | height: 40px; |
| | | line-height: 40px; |
| | | border: none; |
| | | color: #2c3e50; |
| | | font-size: 12px; |
| | | } |
| | | .el-menu--popup { |
| | | display: flex; |
| | |
| | | } |
| | | .highlevel-option { |
| | | font-size: 12px; |
| | | color: #2c3e50; |
| | | &:hover { |
| | | color: #6486e7; |
| | | } |
| | |
| | | position: relative; |
| | | text-align: left; |
| | | background: #fff; |
| | | border: 1px solid #dedede; |
| | | border-radius: 5px; |
| | | height: 360px; |
| | | margin-bottom: 10px; |
| | |
| | | // } |
| | | // }, |
| | | "/api-c": { |
| | | target: 'http://192.168.20.10:8004', |
| | | target: 'http://192.168.20.113:8004', |
| | | changeOrigin: true |
| | | }, |
| | | "/api-v": { |