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