From 9ff66017debadfc89bc0c1b796684a4d1dbe2bc3 Mon Sep 17 00:00:00 2001 From: fangyuan <527392886@qq.com> Date: 星期五, 16 十二月 2022 10:00:02 +0800 Subject: [PATCH] 已上报到市批量操作按钮隐藏 --- src/views/systemSetting/device/point/index.vue | 223 +++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 149 insertions(+), 74 deletions(-) diff --git a/src/views/systemSetting/device/point/index.vue b/src/views/systemSetting/device/point/index.vue index 03fe51e..d7d4b94 100644 --- a/src/views/systemSetting/device/point/index.vue +++ b/src/views/systemSetting/device/point/index.vue @@ -24,36 +24,26 @@ ></div> </el-header> - <el-main style="display: flex; flex-wrap: wrap; overflow-y: scroll"> + <el-main class="video-main"> <div v-for="item in videoData" - style=" - width: 240px; - position: relative; - margin-left: 20px; - " + :key="item.id" + style="position: relative" > - <div - style=" - color: rgb(75, 155, 183); - font-size: 11px; - line-height: 18px; - position: absolute; - z-index: 1; - left: 50px; - " - > - {{ item.name }}{{ item.community }} - </div> + <div class="video-title">{{ item.name }}{{ item.community }}</div> + <video - id="my-video" - :src="item.urlAddress" + :id="item.id" class="video-js" controls preload="auto" - width="210px" - height="150px" + width="400px" + height="300px" + type="video/mp4" ></video> + <div class="button-div"> + <div @click="loadVideo(item)">鏌ョ湅瑙嗛</div> + </div> </div> </el-main> <el-footer> @@ -71,6 +61,97 @@ </el-container> </el-container> </template> +<script> +import departmentAside from "@/views/operate/fivepack/threepack/components/aside"; +import videoPoint from "@/api/system/videoPoint"; + +export default { + name: "point", + components: { departmentAside }, + created() { + this.hls = new Hls(); + this.getVideoPointList(); + }, + data() { + return { + currentPage: 1, + totalNum: 10, + pageSize: 8, + videoData: [], + searchData: null, + hls: null, + videoList: [], + }; + }, + methods: { + async getVideoPointList(data) { + let communityId, streetId; + if (data) { + communityId = data.parentId; + streetId = data.id; + } + await videoPoint + .getVideoPointList({ + current: this.currentPage, + size: this.pageSize, + communityId, + streetId, + }) + .then(({ records, total }) => { + this.videoData = records; + this.totalNum = total; + }) + .catch((err) => this.$message.error(err)); + }, + loadVideo(item) { + if (item.platResourceId) { + if (Hls.isSupported()) { + var video = document.getElementById(item.id); + var hls = new Hls(); + videoPoint.getVideoPointUrl(item.platResourceId).then((res) => { + if (res.code === 0) { + hls.loadSource(res.data); + hls.attachMedia(video); + this.videoList.push(video); + // hls.on(Hls.Events.MANIFEST_PARSED, function () { + // // video.play(); + // document.body.addEventListener( + // "click", + // function () { + // video.play(); + // }, + // false + // ); + // }); + setTimeout(() => { + video.play(); + }, 2000); + } + }); + } + } else { + this.$message.error("鏆傛棤瑙嗛"); + } + }, + selectedDepartment(data) { + this.currentPage = 1; + data.parentId = data.id; + data.id = null; + this.searchData = data; + this.getVideoPointList(data); + }, + current_change(e) { + this.currentPage = e; + this.getVideoPointList(this.searchData); + }, + }, + beforeDestroy() { + videoList.forEach((element) => { + element.push(); + }); + }, +}; +</script> <style lang="scss" scoped> .button-one { height: 40px; @@ -130,6 +211,32 @@ margin-left: 90px; cursor: pointer; } +.video-main { + display: flex; + flex-wrap: wrap; + overflow-y: scroll; + margin-left: 20px; +} +.video-title { + color: rgb(75, 155, 183); + font-size: 11px; + line-height: 18px; + position: absolute; + z-index: 1; + + left: 50px; +} +.button-div { + color: rgb(75, 155, 183); + position: absolute; + height: 30px; + line-height: 30px; + width: 100%; + margin-left: 20px; + cursor: pointer; + width: calc(100% - 20px); + border: 1px solid rgb(75, 155, 183); +} .el-pagination { &::v-deep li, @@ -180,56 +287,24 @@ line-height: 30px; font-size: 14px; } -</style> -<script> -import departmentAside from "@/views/operate/fivepack/threepack/components/aside"; -import videoPoint from "@/api/system/videoPoint"; -export default { - components: { departmentAside }, - created() { - this.getVideoPointList(); - }, - data() { - return { - currentPage: 1, - totalNum: 10, - pageSize: 10, - videoData: [], - searchData: null, - }; - }, - methods: { - getVideoPointList(data) { - let communityId, streetId; - if (data) { - communityId = data.parentId; - streetId = data.id; - } - videoPoint - .getVideoPointList({ - current: this.currentPage, - size: this.pageSize, - communityId, - streetId, - }) - .then(({ records, total }) => { - this.videoData = records; - this.totalNum = total; - }) - .catch((err) => this.$message.error(err)); - }, - selectedDepartment(data) { - this.currentPage = 1; - data.parentId = data.id; - data.id = null; - this.searchData = data; - this.getVideoPointList(data); - }, - current_change(e) { - this.currentPage = e; - this.getVideoPointList(this.searchData); - }, - }, -}; -</script> \ No newline at end of file +video::-webkit-media-controls-timeline { + display: none; +} + +video::-webkit-media-controls-current-time-display { + display: none; +} + +video::-webkit-media-controls-time-remaining-display { + display: none; +} + +video::-webkit-media-controls-mute-button { + display: none; +} + +video::-webkit-media-controls-toggle-closed-captions-button { + display: none; +} +</style> \ No newline at end of file -- Gitblit v1.8.0