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