From e1aa0ecffbabd618c71e4ad94370fb8dffe6ee1c Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期日, 21 一月 2024 20:54:49 +0800 Subject: [PATCH] 优化 --- src/views/systemSetting/device/point/index.vue | 362 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 235 insertions(+), 127 deletions(-) diff --git a/src/views/systemSetting/device/point/index.vue b/src/views/systemSetting/device/point/index.vue index aaf86a2..2f11ed6 100644 --- a/src/views/systemSetting/device/point/index.vue +++ b/src/views/systemSetting/device/point/index.vue @@ -1,69 +1,200 @@ <template> - <el-container style="height: 100%;"> + <el-container style="height: 100%"> <el-aside heigth="100%" width="200px "> - <department-aside /> + <department-aside @selectedDepartment="selectedDepartment" /> </el-aside> - <el-container> - <el-header style="display:flex;flex-direction: column;height: 120px;"> - <div style="display:flex;justify-content: space-between;height: 80px;"> - <span style="color:rgb(75, 155, 183);font-weight: 450;text-align: left; font-size: 16px;">褰撳墠鍏�8涓洃鎺х偣浣嶏紝鏈�澶氶厤缃�100璺棰戠洃鎺э紝鐩墠宸茬粡閰嶇疆200璺棰戠偣</span> + <el-container class="point-container"> + <el-header + style=" + display: flex; + flex-direction: column; + height: 120px; + padding: 0 40px; + " + > + <div + style="display: flex; justify-content: space-between; height: 80px" + > + <span + style=" + color: rgb(75, 155, 183); + font-weight: 450; + text-align: left; + font-size: 16px; + " + >褰撳墠鍏�8涓洃鎺х偣浣嶏紝鏈�澶氶厤缃�100璺棰戠洃鎺э紝鐩墠宸茬粡閰嶇疆200璺棰戠偣</span + > </div> - <div style="height:60px;display: flex;justify-content: flex-start;"> - </div> + <div + style="height: 60px; display: flex; justify-content: flex-start" + ></div> </el-header> - <el-main style="display:flex;flex-wrap: wrap;overflow-y: scroll;"> - <div v-for="item in videoData " style="height: 240px ;width: 210px; position: relative;margin-left:20px ;"> - <div - style="color:rgb(75, 155, 183); font-size: 11px;line-height: 18px; position: absolute; z-index: 1;left: 50px;"> - {{ item.steert }}{{ item.community }}</div> - <video id="my-video" class="video-js" controls preload="auto" width="210px" height="150px" - :poster="item.imageUrl" data-setup="{}"> - <source :src="item.videoUrl" type="video/mp4" /> - </video> - <div class="bottonOne" @click="">鏌ョ湅瑙嗛</div> - <div class="bottonTwo">瑙嗛涓婃姤</div> - <div class="bottonThird">瀵硅</div> + <el-main class="video-main"> + <div + v-for="item in videoData" + :key="item.id" + style="position: relative; height: 350px" + > + <div class="video-title">{{ item.name }}{{ item.community }}</div> + + <video + :id="item.id" + class="video-js" + controls + preload="auto" + width="400px" + height="300px" + type="video/mp4" + ></video> + <div class="button-div"> + <div @click="loadVideo(item)">鏌ョ湅瑙嗛</div> + </div> </div> </el-main> <el-footer> - <div style="margin-bottom:0;"> - <el-pagination :current-page="currentPage" layout="prev, pager, next" :total="totalNum" - :page-size="pageSize"> + <div style="margin-bottom: 0"> + <el-pagination + :current-page="currentPage" + @current-change="current_change" + layout="prev, pager, next" + :total="totalNum" + :page-size="pageSize" + > </el-pagination> </div> </el-footer> </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.code || item.platResourceId) { + if (Hls.isSupported()) { + var video = document.getElementById(item.id); + var hls = new Hls(); + videoPoint + .getVideoPointUrl(item.code || 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() { + this.videoList.forEach((element) => { + element.push(); + }); + }, +}; +</script> <style lang="scss" scoped> +.point-container { + margin-left: 5px; + border: 1px solid #ccc; + padding: 10px; +} .button-one { height: 40px; width: 80px; - margin-left: 20px; + //margin-left: 20px; padding: 0; - background-color: #09152f; + // background-color: #09152f; color: rgb(75, 155, 183); border: 1px solid rgb(75, 155, 183); } - +.title { + color: #333; +} .button-two { height: 40px; width: 80px; padding: 0; - background-color: #09152f; + // background-color: #09152f; color: rgb(75, 155, 183); border: 1px solid rgb(75, 155, 183); } -.el-button+.el-button{ +.el-button + .el-button { margin: 0; } .button-third { height: 40px; width: 80px; padding: 0; - background-color: #09152f; + // background-color: #09152f; color: rgb(75, 155, 183); border: 1px solid rgb(75, 155, 183); } @@ -96,9 +227,47 @@ margin-left: 90px; cursor: pointer; } -.el-pagination{ - line-height: 40px; +.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, + // &::v-deep .btn-prev, + // &::v-deep .btn-next { + // background-color: #071f39; + // color: #4b9bb7; + // } + + // &::v-deep .active { + // background-color: #409eff; + // color: #fff; + // } +} + .bottonThird { color: rgb(75, 155, 183); font-size: 11px; @@ -111,108 +280,47 @@ cursor: pointer; } -::v-deep .el-header { - background-color: #09152f; - color: #000; - line-height: 60px; -} +// ::v-deep .el-header { +// background-color: #09152f; +// color: #000; +// line-height: 60px; +// } -::v-deep .el-aside { - background-color: #09152f; -} +// ::v-deep .el-aside { +// background-color: #09152f; +// } -::v-deep .el-menu { - background-color: #09152f; -} +// ::v-deep .el-menu { +// background-color: #09152f; +// } -::v-deep .el-main, -::v-deep .el-footer { - background-color: #09152f; -} +// ::v-deep .el-main, +// ::v-deep .el-footer { +// background-color: #09152f; +// } ::v-deep .el-tree-node__label { line-height: 30px; font-size: 14px; - color: rgb(75, 155, 183); +} + +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> -<script> -import departmentAside from "@/views/operate/fivepack/threepack/components/aside"; - - export default { - components: { departmentAside }, - data() { - return { - currentPage: 1, - totalNum: 7, - pageSize: 10, - videoData:[ - { - id:12, - steert:"xx琛楅亾", - community:"xxx绀惧尯", - imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", - videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" - }, - { - id:12, - steert:"xx琛楅亾", - community:"xxx绀惧尯", - imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", - videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" - }, - { - id:12, - steert:"xx琛楅亾", - community:"xxx绀惧尯", - imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", - videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" - } - , - { - id:12, - steert:"xx琛楅亾", - community:"xxx绀惧尯", - imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", - videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" - }, - { - id:12, - steert:"xx琛楅亾", - community:"xxx绀惧尯", - imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", - videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" - } - , - { - id:12, - steert:"xx琛楅亾", - community:"xxx绀惧尯", - imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", - videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" - }, - { - id:12, - steert:"xx琛楅亾", - community:"xxx绀惧尯", - imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", - videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" - }, - { - id:12, - steert:"xx琛楅亾", - community:"xxx绀惧尯", - imageUrl:"https://img2.baidu.com/it/u=2526846893,15288996&fm=253&fmt=auto&app=138&f=JPG?w=738&h=500", - videoUrl:"http://vali-g1.cp31.ott.cibntv.net/youku/65730720cb94e7220271a3c96/0300080100632D30A3E43019FD116537F5162F-1035-48AC-BE1B-602DF0E92893.mp4?sid=166729534400010004780_00_Bda935cf9a33346c593fc27da8e694df3&sign=db39289573d143cf6e1ad8d8dff36682&ctype=50&si=183&psid=c732c4364319e7ef4685d8f1a568015941346" - } - ], - value:'' - }; - }, - methods: { - handleNodeClick(data) { - console.log(data); - } - } - }; -</script> \ No newline at end of file -- Gitblit v1.8.0