From f551b10b0c04a902ea089b4a434bb9537b94496e Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期四, 29 十二月 2022 17:14:59 +0800 Subject: [PATCH] Merge branch 'dev1.0' of http://42.193.1.25:9521/r/sccg_ui into dev1.0 --- src/views/video/index.vue | 504 ++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 344 insertions(+), 160 deletions(-) diff --git a/src/views/video/index.vue b/src/views/video/index.vue index 9f8688f..6c98008 100644 --- a/src/views/video/index.vue +++ b/src/views/video/index.vue @@ -1,66 +1,309 @@ <template> - <el-container style="height: 100%;"> - <el-aside heigth="100%" width="200px "> - <div style="line-height: 40px;text-align: left;padding: 0 20px 0 10px;"> - <span style="color:rgb(75, 155, 183);font-weight: 500; width: 196px;">缁勭粐鏈烘瀯</span> - <el-input placeholder="璇疯緭鍏ユ満鏋�"></el-input> - </div> - <el-tree :data="treedata" :props="defaultProps" @node-click="handleNodeClick"></el-tree> - - + <el-container style="height: 100%"> + <el-aside heigth="100%" width="200px"> + <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: 500;text-align: left; font-size: 16px;">鏁翠綋瓒嬪娍</span> + <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: 500; + text-align: left; + font-size: 16px; + " + >鏁翠綋瓒嬪娍</span + > <el-date-picker v-model="value" type="date" placeholder="閫夋嫨鏃ユ湡"> </el-date-picker> </div> - <div style="height:60px;display: flex;justify-content: flex-start;"> - <el-button class="button-one"> - 瑙嗛棰勮 - </el-button> - <el-button class="button-two"> - 瑙嗛宸℃煡 - </el-button> - <el-button class="button-third"> - 鍥剧墖宸℃煡 - </el-button> - </div> + <!-- <div style="height: 60px; display: flex; justify-content: flex-start"> + <el-button class="button-one"> 瑙嗛棰勮 </el-button> + <el-button class="button-two"> 瑙嗛宸℃煡 </el-button> + <el-button class="button-third"> 鍥剧墖宸℃煡 </el-button> + </div> --> </el-header> - <el-main style="display:flex;flex-wrap: wrap;overflow-y: scroll;"> - <div v-for="item in videoDate " style="height: 240px ;width: 210px; position: relative;margin-left:20px ;"> + <el-main style="display: flex; flex-wrap: wrap; overflow-y: scroll"> + <div + v-for="item in videoData" + :key="item.id" + style=" + height: 360px; + width: 400px; + 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> + style=" + color: rgb(75, 155, 183); + font-size: 11px; + line-height: 18px; + position: absolute; + z-index: 1; + left: 50px; + " + > + {{ item.community }}-{{ item.name }} + </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> + <div @click="create(item)">瀵硅</div> + </div> </div> </el-main> + <el-dialog + :visible.sync="dialogCreate" + title="鏌ョ湅瑙嗛" + v-show="dialogCreate" + :before-close="handleClose2" + > + <div class="dom" style="width: 100%; height: 600px; position: relative"> + <div id="dom1" class="dom1"></div> + <div id="dom2" class="dom2"></div> + <div id="dom3" class="dom3"></div> + </div> + </el-dialog> <el-footer> - <div style="margin-bottom:0;"> - <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum" - :page-size="pageSize" @current-change="changeCurrentPage" @prev-click="handlePrev" @next-click="handleNext"> - </el-pagination> + <div style="margin-bottom: 0"> + <el-pagination + layout="prev, pager, next" + @current-change="currentPageChange" + :total="totalNum" + :page-size="pageSize" + ></el-pagination> </div> </el-footer> </el-container> </el-container> </template> + +<script> +// import "../../video_lib/DHWs.js"; +import departmentAside from "@/views/operate/fivepack/threepack/components/aside"; +import videoPoint from "@/api/system/videoPoint"; + +export default { + components: { departmentAside }, + data() { + return { + currentPage: 1, + totalNum: 7, + pageSize: 8, + videoData: [], + value: null, + dialogCreate: false, + cutPosX: 10, + cutPosY: 10, + cutWidth: 100, + cutHeight: 100, + crtPosX: 0, + crtPosY: 0, + crtWidth: 1000, + crtHeight: 600, + domId: "dom1", + ctrl: "ctrl1", + }; + }, + + created() { + this.getVideoPointList(); + }, + mounted() {}, + methods: { + 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); + // 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("鏆傛棤瑙嗛"); + } + }, + getVideoPointList(data) { + let communityId, streetId; + if (data) { + communityId = data.id; + streetId = data.parentId; + } + 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.getVideoPointList(data); + }, + currentPageChange(page) { + this.currentPage = page; + this.getVideoPointList(); + }, + handleClose2() { + this.dialogCreate = false; + this.destroy(); + }, + login() { + // 璋冪敤鐧诲綍鎺ュ彛 + this.ws.detectConnectQt().then((res) => { + if (res) { + // 杩炴帴瀹㈡埛绔垚鍔� + this.ws.login({ + loginIp: "183.245.159.161", + loginPort: "8282", + userName: "suichang", + userPwd: "a12345677", + https: 1, + }); + this.$message.info("鐧诲綍涓�..."); + this.ws.on("loginState", (res) => { + this.isLogin = res; + if (res) { + this.$message.success("鐧诲綍鎴愬姛"); + this.activePanel = "key2"; + } else { + this.$message.info("鐧诲綍澶辫触"); + } + }); + } else { + // 杩炴帴瀹㈡埛绔け璐� + this.$message.info("璇烽噸鏂板畨瑁呭鎴风"); + } + }); + }, + logout() { + // 璋冪敤鐧诲嚭鎺ュ彛 + this.ws.logout({ + loginIp: this.loginIp, + }); + }, + create(item) { + if (item.code) { + const DHWsInstance = DHWs.getInstance(); + this.ws = DHWsInstance; + console.log(this.ws); + this.login(); + // 璋冪敤鍒涘缓鎺т欢鎺ュ彛 + // if (!this.isLogin) { + // this.$message.info('姝e湪鐧婚檰瀹㈡埛绔紝璇风◢绛�......'); + // return false; + // } + this.dialogCreate = true; + setTimeout(() => { + let _this = this; + const params = [ + { + // ctrlType: "realMonitorUI", + ctrlType: "playerWin", + ctrlCode: this.ctrl, + ctrlProperty: { + displayMode: 1, + splitNum: 1, + channelList: [{ channelId: item.code }], + }, + visible: true, + domId: this.domId, + }, + ]; + this.setPos(); + _this.ws + .createCtrl(params) + .then((res) => { + this.$message.success("鍒涘缓鎴愬姛"); + console.log("res", res); + }) + .catch((e) => { + console.log("error;", e); + }); + _this.ws.on("createCtrlResult", (res) => { + console.warn(res); + }); + }, 1000); + } else { + this.$message.error("鏆傛棤瑙嗛"); + } + }, + + destroy() { + // 璋冪敤閿�姣佹帶浠舵帴鍙� + if (!this.isLogin) { + this.$Message.info("姝e湪鐧婚檰瀹㈡埛绔紝璇风◢绛�......"); + return false; + } + const ctrls = this.ws.ctrls.map((i) => { + if (i.ctrlCode === this.ctrl) { + return i.ctrlCode; + } + }); + this.ws.destroyCtrl(ctrls); + }, + setPos() { + let target = document.getElementById(this.domId); + console.log(target, "target"); + target.style.right = `${this.crtPosX}px`; + target.style.top = `${this.crtPosY}px`; + target.style.width = `${this.crtWidth}px`; + target.style.height = `${this.crtHeight}px`; + if (document.createEvent) { + var event = document.createEvent("HTMLEvents"); + event.initEvent("resize", true, true); + window.dispatchEvent(event); + } else if (document.createEventObject) { + window.fireEvent("onresize"); + } + }, + }, +}; +</script> <style lang="scss" scoped> .button-one { height: 40px; width: 80px; margin-left: 20px; padding: 0; - background-color: #09152f; + // background-color: #09152f; color: rgb(75, 155, 183); border: 1px solid rgb(75, 155, 183); } @@ -69,18 +312,18 @@ 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); } @@ -88,6 +331,26 @@ .video-js { border: 1px solid rgb(75, 155, 183); margin-left: 20px; +} +.button-div { + color: rgb(75, 155, 183); + position: absolute; + height: 30px; + line-height: 30px; + width: 100%; + margin-left: 20px; + display: flex; + justify-content: center; + + div { + font-size: 11px; + display: flex; + justify-content: center; + cursor: pointer; + border: 1px solid rgb(75, 155, 183); + + width: 33.3%; + } } .bottonOne { @@ -97,7 +360,7 @@ height: 30px; line-height: 30px; margin-left: 20px; - width: 70px; + width: 33.3%; border: 1px solid rgb(75, 155, 183); cursor: pointer; } @@ -108,12 +371,12 @@ position: absolute; height: 30px; line-height: 30px; - width: 70px; + width: 33.3%; border: 1px solid rgb(75, 155, 183); margin-left: 90px; cursor: pointer; } -.el-pagination{ +.el-pagination { line-height: 40px; } .bottonThird { @@ -122,136 +385,57 @@ position: absolute; height: 30px; line-height: 30px; - width: 70px; + width: 33.3%; border: 1px solid rgb(75, 155, 183); - margin-left: 20px; + margin-left: 160px; cursor: pointer; } ::v-deep .el-header { - background-color: #09152f; + // 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-footer { +// background-color: #09152f; +// } ::v-deep .el-tree-node__label { line-height: 30px; font-size: 14px; color: rgb(75, 155, 183); } -</style> -<script src="https://vjs.zencdn.net/7.20.3/video.min.js"></script> -<script> - export default { - data() { - return { - totalNum:7, - pageSize:10, - videoDate:[ - { - id:12, - steert:"xx琛楅亾", - community:"xxx绀惧尯", - imageUrl:"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.zhimg.com%2Fv2-f596f7046869736314107eed4003ce88_r.jpg&refer=http%3A%2F%2Fpic1.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1669953324&t=319eaeb3617f2bd98a0d5b845b35a537", - 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://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.zhimg.com%2Fv2-f596f7046869736314107eed4003ce88_r.jpg&refer=http%3A%2F%2Fpic1.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1669953324&t=319eaeb3617f2bd98a0d5b845b35a537", - 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://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.zhimg.com%2Fv2-f596f7046869736314107eed4003ce88_r.jpg&refer=http%3A%2F%2Fpic1.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1669953324&t=319eaeb3617f2bd98a0d5b845b35a537", - 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://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.zhimg.com%2Fv2-f596f7046869736314107eed4003ce88_r.jpg&refer=http%3A%2F%2Fpic1.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1669953324&t=319eaeb3617f2bd98a0d5b845b35a537", - 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://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.zhimg.com%2Fv2-f596f7046869736314107eed4003ce88_r.jpg&refer=http%3A%2F%2Fpic1.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1669953324&t=319eaeb3617f2bd98a0d5b845b35a537", - 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://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.zhimg.com%2Fv2-f596f7046869736314107eed4003ce88_r.jpg&refer=http%3A%2F%2Fpic1.zhimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1669953324&t=319eaeb3617f2bd98a0d5b845b35a537", - 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" - } - ], - treedata: [{ - label: '濡欓珮琛楅亾', - children: [{ - label: '涓滆', - children: [{ - label: '铻鸿洺鍨�' - }] - }] - }, { - label: '浜戝嘲琛楅亾', - children: [{ - label: '涓滀涵', - children: [{ - label: '闅旀邯' - }] - }, { - label: '椹ご', - children: [{ - label: '榫欏彛' - }] - }] - }, { - label: '鏂拌矾婀鹃晣', - children: [{ - label: '鏂拌矾婀鹃晣', - children: [{ - label: '鏂拌矾婀鹃晣' - }] - }, { - label: '鏂拌矾婀鹃晣', - children: [{ - label: '鏂拌矾婀鹃晣' - }] - }] - }], - defaultProps: { - children: 'children', - label: 'label' - }, - value:'' - }; - }, - methods: { - handleNodeClick(data) { - console.log(data); - } - } - }; -</script> \ No newline at end of file +.dom1 { + margin: 0 auto; +} + +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