Explorar el Código

[UPDATE] fix bug in *hkcamara

11868 hace 1 año
padre
commit
ef0dab7d80
Se han modificado 4 ficheros con 1072 adiciones y 144 borrados
  1. 10 10
      src/components/hk/hkCamara.vue
  2. 417 89
      src/components/hk/monitorHK.vue
  3. 616 42
      src/views/monitorScreen.vue
  4. 29 3
      src/views/taskScreen.vue

+ 10 - 10
src/components/hk/hkCamara.vue

@@ -1,4 +1,4 @@
-<template id="divPlugin0">
+<template>
   <div id="divPlugin" class="video-player">
     <div id="divPlugin1" class="divPlugin"></div>
 
@@ -61,16 +61,16 @@ export default {
       let w
       if(document.body.clientWidth>=(document.body.clientHeight*2)){
         h=document.body.clientHeight
-        w=document.body.clientHeight*2
+        w=document.body.clientHeight*(2200/1080)
       }else{
-        h=document.body.clientWidth/2
+        h=document.body.clientWidth/(2200/1080)
         w=document.body.clientWidth
       }
 
       setTimeout(() => {
         WebVideoCtrl.I_Resize(
-          w/2.42,
-          h/3.2
+          w/2.43,
+          h/3.05
         );
       }, 1000);
     },
@@ -101,9 +101,9 @@ export default {
       console.log("0: ",document.body.clientWidth ,document.body.clientHeight)
       if(document.body.clientWidth>=(document.body.clientHeight*2)){
         h=document.body.clientHeight
-        w=document.body.clientHeight*2
+        w=document.body.clientHeight*(2200/1080)
       }else{
-        h=document.body.clientWidth/2
+        h=document.body.clientWidth/(2200/1080)
         w=document.body.clientWidth
       }
 
@@ -147,14 +147,14 @@ export default {
       // h1=divElement.clientHeight
 
       console.log("1: ",w ,h)
-      console.log("1: ", w/2.42, h/3.2)
+      console.log("1: ", w/2.43, h/3.05)
 
       // console.log("2: ",w1 ,h1)
       // console.log("2: ",w1*0.8,h1*0.7)
       WebVideoCtrl.I_InsertOBJECTPlugin("divPlugin1").then(() => {
         WebVideoCtrl.I_Resize(
-            w/2.42,
-            h/3.2
+            w/2.43,
+            h/3.05
         ).then(() => {
           console.log("🚀 data >> ", that.companyVideoData);
           this.getLoginParams().then((res) => {

+ 417 - 89
src/components/hk/monitorHK.vue

@@ -1,21 +1,25 @@
-<template>
-  <div class="video-player">
-    <div id="divPlugin2" class="divPlugin"></div>
-  </div>
+<template class="divPlugin0">
+<!--  <div id="divPlugin" class="video-player">-->
+    <div id="divPluginMonitorScreen" class="divPlugin"></div>
+<!--  </div>-->
 </template>
 <script>
+
+import {isInteger} from "lodash";
 export default {
   name: "monitorHK",
-  props: {
-    //从父组件传来的数据,IP、用户名、密码、端口号
+  props: {//从父组件传来的数据,IP、用户名、密码、端口号
     companyVideoData: {
       type: Array,
     },
+    num:Number,
     //分屏
     videoType: Number,
+    dangqianchuangkou:Number,
   },
   data() {
     return {
+      currentnum:0,
       plugin: true,
       iWidth: "100%",
       iHeight: "100%",
@@ -32,42 +36,43 @@ export default {
     };
   },
   created() {},
-  mounted() {
-    // const uniqueArr = [];
-    // const uniqueSet = new Set();
-    //
-    // this.companyVideoData.forEach(obj => {
-    //   if (obj !== undefined&&obj !== null) {
-    //     const key = JSON.stringify(obj);
-    //     if (!uniqueSet.has(key)) {
-    //       uniqueSet.add(key);
-    //       uniqueArr.push(obj);
-    //     }
-    //   }
-    // });
-    // this.videoData = uniqueArr;
-    //
-    // console.log('this.videoData :>> ', this.videoData);
-    this.videoInitPlugin();
-  },
   beforeUnmount() {
     window.removeEventListener('resize', this.handleResize);
   },
+  mounted() {
+    // if(this.num!=this.currentnum){
+    //   console.log("00000000: ",this.num,this.currentnum)
+    //   this.videoInitPlugin();
+    // }
+    //浏览器界面大小
+    console.log("1: ",document.body.clientWidth ,document.body.clientHeight)
+    console.log("2: ",window.screen.height , window.devicePixelRatio,window.screen.height * window.devicePixelRatio)
+    console.log("3: ",window.screen.width , window.devicePixelRatio,window.screen.width * window.devicePixelRatio)
+
+    this.videoInitPlugin();
+  },
   destroyed() {
     this.$router.go(0);
   },
   methods: {
     handleResize() {
       this.zoom = window.devicePixelRatio;
+      let h
+      let w
+      if(document.body.clientWidth>=(document.body.clientHeight*2)){
+        h=document.body.clientHeight
+        w=document.body.clientHeight*(2200/1080)
+      }else{
+        h=document.body.clientWidth/(2200/1080)
+        w=document.body.clientWidth
+      }
+
       setTimeout(() => {
-        console.log('this.zoom :>> ', this.zoom);
-        WebVideoCtrl.I_Resize(1135/(this.zoom/1.25), 590/(this.zoom/1.25));
-        // let divw = $('.divPlugin').width();
-        // let divh = $('.divPlugin').height();
-        // console.log("div宽:" + divw + ";div高:" + divh);
-        // WebVideoCtrl.I_Resize(divw, divh);
+        WebVideoCtrl.I_Resize(
+            w/1.3,
+            h/1.23
+        );
       }, 1000);
-
     },
     videoInitPlugin() {
       var iRet = WebVideoCtrl.I_CheckPluginInstall();
@@ -79,76 +84,338 @@ export default {
     },
     //插件初始化
     initPlugin() {
-      let videoNum = this.videoData.length;
-      if(videoNum == 0){
-        return;
-      }
-      else if(videoNum ==1){
-        this.iWndowType = 1;
-      }
-      else if(videoNum>1&&videoNum<5){
-        this.iWndowType = 2;
-      }
-      else if(videoNum>=5&&videoNum<10){
-        this.iWndowType = 3;
-      }
-      else if(videoNum>=10&&videoNum<=16){
-        this.iWndowType = 4;
-      }
-      else{
-        return;
-      }
-      console.log('videoNum :>> ', videoNum);
+      // console.log("窗口信息", I_GetWindowStatus(0))
+     this.currentnum= this.num
+      console.log(1)
+      console.log(this.num)
+      console.log("isInteger11",isInteger(this.num))
+      console.log("isInteger22",isInteger(parseInt(this.num)))
+      this.iWndowType = Math.sqrt(this.num);
+
+      // let videoNum = this.videoData.length;
+      // if(videoNum == 0){
+      //   return;
+      // }
+      // else if(videoNum ==1){
+      //   this.iWndowType = 1;
+      // }
+      // else if(videoNum>1&&videoNum<5){
+      //   this.iWndowType = 2;
+      // }
+      // else if(videoNum>=5&&videoNum<10){
+      //   this.iWndowType = 3;
+      // }
+      // else if(videoNum>=10&&videoNum<=16){
+      //   this.iWndowType = 4;
+      // }
+      // else{
+      //   return;
+      // }
+      // console.log('videoNum :>> ', videoNum);
       console.log('this.iWndowType :>> ', this.iWndowType);
       var that = this;
+      console.log("🚀 开始初始化插件 >> ", that.g_iWndIndex);
       WebVideoCtrl.I_InitPlugin({
         bWndFull: true, //是否支持单窗口双击全屏,默I_CheckPluginInstall
         iWndowType: this.iWndowType,
 
         bDebugMode: true,
-        cbSelWnd: function (xmlDoc) {},
+        cbSelWnd: function (xmlDoc) {//获取当前窗口
+          that.g_iWndIndex = parseInt($(xmlDoc).find("SelectWnd").eq(0).text(), 10);
+          var szInfo = "当前选择的窗口编号:" +  that.g_iWndIndex;
+          this.dangqianchuangkou=that.g_iWndIndex
+          // console.log("窗口:",this.dangqianchuangkou)
+          // this.$emit('change1', this.dangqianchuangkou);
+          // console.log(szInfo)
+        },
+        cbDoubleClickWnd: function (iWndIndex, bFullScreen) {
+          var szInfo = "当前放大的窗口编号:" +  that.iWndIndex;
+          if (!bFullScreen) {
+            szInfo = "当前还原的窗口编号:" +  that.iWndIndex;
+          }
+          console.log(szInfo)
+        },
       });
-      WebVideoCtrl.I_InsertOBJECTPlugin("divPlugin2");
+      // console.log("窗口change:",this.dangqianchuangkou)
+      // this.$emit('change', this.dangqianchuangkou);
+      // this.$emit('child',this.msg2)
+      console.log("🚀 初始化插件完成 >> ", that.g_iWndIndex);
+      console.log("🚀 插入插件");
+      let h
+      let w
+      console.log("0: ",document.body.clientWidth ,document.body.clientHeight)
+      if(document.body.clientWidth>=(document.body.clientHeight*2)){
+        h=document.body.clientHeight
+        w=document.body.clientHeight*(2200/1080)
+      }else{
+        h=document.body.clientWidth/(2200/1080)
+        w=document.body.clientWidth
+      }
+
+      console.log("1: ",w ,h)
+      console.log("2: ", w/2.43, h/3.05)
 
       // 检查插件是否最新
       //   if (-1 == WebVideoCtrl.I_CheckPluginVersion()) {
       //     alert("检测到新的插件版本,请双击WebComponents.exe插件,进行升级!");
       //     // return;
       //   }
-      setTimeout(() => {
-        WebVideoCtrl.I_Resize(1135/(this.zoom/1.25), 590/(this.zoom/1.25));
-      }, 100);
-      window.addEventListener('resize', this.handleResize);
-      this.clickLogin();
-    },
-    clickLogin() {
+      WebVideoCtrl.I_InsertOBJECTPlugin("divPluginMonitorScreen").then(() => {
+        WebVideoCtrl.I_Resize(
+            w/1.3,
+            h/1.23
+        ).then(() => {
+          console.log("🚀 data >> ", that.companyVideoData);
+          this.getLoginParams().then((res) => {
+            console.log("🚀 解析完 >> ", res);
+            this.login(res);
+          });
+        })
+        window.addEventListener("resize", that.handleResize);
+      });
+      console.log("🚀 插入完成");
 
-      for(let index = 0;index < this.videoData.length;index++){
-        this.singleLogin(this.videoData[index],index)
+      // WebVideoCtrl.I_InsertOBJECTPlugin("divPluginMonitorScreen");
+
+      // setTimeout(() => {
+      //   WebVideoCtrl.I_Resize(
+      //
+      //       // 1135/(this.zoom/1.25),
+      //       // 590/(this.zoom/1.25)
+      //       // w/2.43,
+      //       // h/3.05
+      //       w/5,
+      //       h/6
+      //
+      //   );
+      // }, 100);
+      // window.addEventListener('resize', this.handleResize);
+      // this.clickLogin();
+    },
+    async getLoginParams() {
+      var loginParams = {};
+      var that = this;
+      for (const item of that.companyVideoData) {
+        if (item !== undefined) {
+          let loginParam = {}
+          const key = JSON.stringify(item);
+          if (!loginParams.hasOwnProperty(key)) {
+            loginParams[key] = item;
+          }
+        }
       }
+      return loginParams;
     },
-    singleLogin(Data,index){
-      setTimeout(() => {
-
-        var that = this;
-        WebVideoCtrl.I_Login(
-          Data.ip,
+    async login(loginParams) {
+      var that = this;
+      // for (const loginParam of Object.values(loginParams)) {
+      //   await that.doLogin(loginParam)
+      // }
+      await Promise.all(
+          Object.values(loginParams).map(async (loginParam) => {
+            await that.doLogin(loginParam);
+          })
+      )
+    },
+    async doLogin(loginParam) {
+      console.log("🚀 loginPara >> ", loginParam);
+      var that = this;
+      WebVideoCtrl.I_Login(
+          loginParam.ip,
           1,
-          Data.Port,
-          Data.Username,
-          Data.Password,
+          loginParam.Port,
+          loginParam.Username,
+          loginParam.Password,
           {
-            timeout: 1000,
-            async: false,
-            success: function (xmlDoc) {
-              console.log("开始预览"); //不能删除
-              let oChannels = that.getChannelInfo();
-              that.initPlay(Data,index,oChannels);
+            timeout:1000,
+            success: function(xmlDoc) {
+              console.log("🚀 登录成功 >> ", loginParam.ip, loginParam.Port);
+              that.doGetChannelInfo(loginParam.ip).then((channels) => {
+                var s = JSON.stringify(channels);
+
+                console.log("tezt", JSON.stringify(channels), channels.length, channels[0], channels[0].channelId, channels[0]["channelId"])
+                // console.log("🚀 通道列表 >> ", loginParam.ip, channels, channels.length, s[0]["channelName"]);
+                var channelId = that.getChannelIdByName(loginParam.channelName, channels);
+                console.log("🚀 获得id >> ", channelId);
+                if (channelId !== null) {
+                  console.log("🚀 获得id >> ", channelId);
+                  that.startPlay(loginParam.ip, channelId);
+                } else
+                  console.log("🚀 通道号无效 >> ", loginParam.ip, loginParam.channelName);
+              })
             },
             error: function () {
               console.log("login error");
             },
           }
+      );
+    },
+    getChannelIdByName(channelName, channels) {
+      const channel = channels.find((channel) => {
+        if (channel["channelName"] == channelName) {
+          return channel;
+        }
+      });
+      if (channel) {
+        return channel.channelId;
+      } else {
+        return null;
+      }
+    },
+    doGetChannelInfo(ip) {
+      return new Promise((resolve, reject) => {
+        var getAnalogChannelInfo = new Promise((resolve, reject) => {
+          WebVideoCtrl.I_GetAnalogChannelInfo(ip, {
+            success: function(xmlDoc) {
+              let channels = [];
+              var oChannels = $(xmlDoc).find("VideoInputChannel");
+              $.each(oChannels, function(i) {
+                var id = $(this).find("id").eq(0).text(),
+                    name = $(this).find("name").eq(0).text();
+                if ("" == name) {
+                  name = "Camera " + (i < 9 ? "0" + (i + 1) : (i + 1));
+                }
+                channels.push({
+                  channelId: id,
+                  channelName: name,
+                })
+              });
+              console.log("🚀 获取模拟通道成功 >> ", channels);
+              resolve(channels);
+            },
+            error: function(oError) {
+              console.log("🚀 获取模拟通道失败 >> ", ip, oError.errorCode, oError.errorMsg);
+            },
+          })
+        });
+        var getDigitalChannelInfo = new Promise((resolve, reject) => {
+          WebVideoCtrl.I_GetDigitalChannelInfo(ip, {
+            success: function(xmlDoc) {
+              let channels = [];
+              var oChannels = $(xmlDoc).find("InputProxyChannelStatus");
+              $.each(oChannels, function(i) {
+                var id = $(this).find("id").eq(0).text(),
+                    name = $(this).find("name").eq(0).text(),
+                    online = $(this).find("online").eq(0).text();
+                if ("false" == online) {// 过滤禁用的数字通道
+                  return true;
+                }
+                if ("" == name) {
+                  name = "IPCamera " + (i < 9 ? "0" + (i + 1) : (i + 1));
+                }
+                channels.push({
+                  channelId: id,
+                  channelName: name,
+                })
+              });
+              console.log("🚀 获取数字通道成功 >> ", channels);
+              resolve(channels);
+            },
+            error: function(oError) {
+              console.log("🚀 获取数字通道失败 >> ", ip, oError.errorCode, oError.errorMsg);
+              resolve([]);
+            }
+          });
+        });
+        var getZeroChannelInfo = new Promise((resolve, reject) => {
+          WebVideoCtrl.I_GetZeroChannelInfo(ip, {
+            success: function(xmlDoc) {
+              let channels = [];
+              var oChannels = $(xmlDoc).find("ZeroVideoChannel");
+              $.each(oChannels, function(i) {
+                var id = $(this).find("id").eq(0).text(),
+                    name = $(this).find("name").eq(0).text();
+                if ("" == name) {
+                  name = "Zero Channel " + (i < 9 ? "0" + (i + 1) : (i + 1));
+                }
+                if ("true" == $(this).find("enabled").eq(0).text()) {// 过滤禁用的零通道
+                  channels.push({
+                    channelId: id,
+                    channelName: name,
+                  })
+                }
+              });
+              console.log("🚀 获取零通道成功 >> ", channels);
+              resolve(channels);
+            },
+            error: function(oError) {
+              console.log("🚀 获取零通道失败 >> ", ip, oError.errorCode, oError.errorMsg);
+              resolve([]);
+            }
+          });
+        });
+        Promise.allSettled([getAnalogChannelInfo, getDigitalChannelInfo, getZeroChannelInfo])
+            .then((resList) => {
+              console.log("🚀 res >> ", resList);
+              const fulfilledValues = resList.reduce((list, result) => {
+                if (result.status === 'fulfilled' && result.value.length !== 0) {
+                  const value = result.value;
+                  list.push(value);
+                }
+                return list;
+              }, []);
+              resolve(fulfilledValues.flat());
+            })
+            .catch((error) => {
+              console.log("🚀 获取通道失败 >> ", ip);
+            });
+      })
+    },
+    startPlay(ip, channelId) {
+      console.log("🚀 开始播放 >> ", ip, channelId);
+      WebVideoCtrl.I_StartRealPlay(ip, {
+        iStreamType: 1,
+        iChannelID: channelId,
+        iWndIndex: 0,
+      }).then(() => {
+        this.$emit("init", true);
+        console.log("🚀 采集卡麒麟 >> ", );
+      })
+    },
+    clickLogin() {
+      return new Promise((resolve) => {
+        const uniqueArr = [];
+        const uniqueSet = new Set();
+
+        this.companyVideoData.forEach((obj) => {
+          if (obj !== undefined) {
+            const key = JSON.stringify(obj);
+            if (!uniqueSet.has(key)) {
+              uniqueSet.add(key);
+              uniqueArr.push(obj);
+            }
+          }
+        });
+        console.log(uniqueArr);
+        for (let index = 0; index < uniqueArr.length; index++) {
+          this.singleLogin(uniqueArr[index], index);
+        }
+
+        // 完成登录操作后调用resolve
+        resolve();
+      });
+    },
+    singleLogin(Data, index) {
+      setTimeout(() => {
+        var that = this;
+        WebVideoCtrl.I_Login(
+            Data.ip,
+            1,
+            Data.Port,
+            Data.Username,
+            Data.Password,
+            {
+              timeout: 1000,
+              async: false,
+              success: function (xmlDoc) {
+                console.log("开始预览"); //不能删除
+                let oChannels = that.getChannelInfo();
+                that.initPlay(Data, index,oChannels);
+              },
+              error: function () {
+                console.log("login error");
+              },
+            }
         );
       }, 100);
     },
@@ -193,16 +460,15 @@ export default {
       });
     },
     //初始化视频,为了让用户进来就可以看到视频播放
-    initPlay(data,index,oChannels) {
+    initPlay(data, index,oChannels) {
       let szIP = data.ip; //ip地址
       //循环16次是因为插件分屏最大为4x4(可以根据情况而定)
 
       WebVideoCtrl.I_StartRealPlay(szIP, {
         iStreamType: 1,
-        iChannelID: oChannels.id,
+        iChannelID: oChannels.id,//按格式修改
         iWndIndex: index,
       });
-
     },
     // 点击查看具体哪个监控
     startRealPlay(oChannels) {
@@ -223,19 +489,75 @@ export default {
   },
   //因为项目中需求,总公司要查看所有子公司的监控,所以做了个监听来切换查看各个子公司的监控
   watch: {
+
+    currentnum:{
+      handler(val, oldval) {
+        console.log("watchnum11:",this.currentnum, this.num)
+        console.log("watchnum12:",val, oldval)
+      }
+    },
+
+    num:{
+      handler(val, oldval) {
+        console.log("watchnum21:", this.currentnum, this.num)
+        console.log("watchnum22:", val, oldval)
+        // this.initPlugin()
+        WebVideoCtrl.I_ChangeWndNum(Math.sqrt(this.num))
+
+        let that = this;
+        WebVideoCtrl.I_InitPlugin({
+          bWndFull: true, //是否支持单窗口双击全屏,默I_CheckPluginInstall
+          iWndowType: this.iWndowType,
+          bDebugMode: true,
+          cbSelWnd: function (xmlDoc) {//获取当前窗口
+            that.g_iWndIndex = parseInt($(xmlDoc).find("SelectWnd").eq(0).text(), 10);
+            // var szInfo = "当前选择的窗口编号:" + that.g_iWndIndex;
+            this.dangqianchuangkou = that.g_iWndIndex
+            that.$emit('change-window', this.dangqianchuangkou);
+            // console.log(szInfo)
+          },
+        })
+
+      }
+
+    },
     companyVideoData: {
       handler(val, oldval) {
-        if (oldval) {
-          for (let i = 0; i < 16; i++) {
-            WebVideoCtrl.I_Stop(i); //停止正在播放的页面
-          }
-          this.$emit("func", "");
-          WebVideoCtrl.I_Logout(oldval.ip);
-          this.clickLogin(this.companyVideoData);
+        console.log("watchnum121:",this.currentnum, this.num)
+        console.log("watchnum122:",val, oldval)
+        console.log("watchnum123:",val.length, oldval)
+
+        if(val.length==1){
+          this.num=1
+          // this.$emit('button-updated', this.num);
+          WebVideoCtrl.I_ChangeWndNum(1)
+        }else if(val.length<=4){
+          this.num=4
+          WebVideoCtrl.I_ChangeWndNum(2)
+        }else if(val.length<=9){
+          this.num=9
+          WebVideoCtrl.I_ChangeWndNum(3)
+        }else if(val.length<=16){
+          this.num=16
+          WebVideoCtrl.I_ChangeWndNum(4)
+        }else{
+          this.num=16
+          WebVideoCtrl.I_ChangeWndNum(4)
         }
+        this.$emit('button-value', this.num);
+
+        // WebVideoCtrl.I_ChangeWndNum(Math.sqrt(this.num))
+        // if (oldval) {
+          // for (let i = 0; i < 16; i++) {
+          //   WebVideoCtrl.I_Stop(i); //停止正在播放的页面
+          // }
+          // this.$emit("func", "");
+          // WebVideoCtrl.I_Logout(oldval.ip);
+          // this.clickLogin(this.companyVideoData);
+        // }
       },
-      immediate: true, //关键
-      deep: true,
+      // immediate: true, //关键
+      // deep: true,
     },
     videoType: {
       handler(val, oldval) {
@@ -252,10 +574,16 @@ export default {
 </script>
 <style scoped>
 .video-player {
+
   width: 120%;
   height: 120%;
 }
+.divPlugin0 {
+  pointer-events: none;
+}
+
 .divPlugin {
+
   width: 100%;
   height: 100%;
   color: red;

+ 616 - 42
src/views/monitorScreen.vue

@@ -14,39 +14,94 @@
       </div>
       <div class="monitor_video_box">
         <div class="full_video_box">
-          <div class="video_title_new">监控名称</div>
-          <!-- <video  id="videoPlayerTask" class="video-js" muted></video> -->
-          <MonitorHK :companyVideoData="videoData" v-if="isShow"/>
+          <div class="video_title_new">
+            <a style="float: left">监控名称</a>
+            <a style="margin-left: 1370px">分屏</a>
+            <div style="float: right; ">
+              <el-radio-group v-model="selectedScreen" size="mini" @change="selectChange">
+                <el-radio-button label=1></el-radio-button>
+                <el-radio-button label=4></el-radio-button>
+<!--                <el-radio-button label="6"></el-radio-button>-->
+                <el-radio-button label=9></el-radio-button>
+                <el-radio-button label=16></el-radio-button>
+              </el-radio-group>
+            </div>
+          </div>
+          <div class="video_content">
+            <MonitorHK  v-if="HKbigCamaraShow"
+                        @change-window="handleChangeWindow"
+                        :num="selectedScreen"
+                        :companyVideoData="this.bigData.data"
+                        @init="HKbigCamaraInit"
+                        ref="hkbigCamara" />
+          </div>
         </div>
         <div class="full_video_list">
-          <!-- <div>
-              <div class="video_title_new_child">
-                  <div>监控名称</div>
-                  <div class="play_to_full">大屏播放</div>
+          <div class="full_video_list_card">
+            <a style="float: left">采集卡视频</a>
+            <div class="full_video_list_card_list" >
+              <el-table
+                  :data="pagedData_bigcardData"
+                  :header-cell-style="changeHeaderCellStyle"
+                  :cell-style="changeCellStyle"
+                  stripe:border="true"
+              >
+                <el-table-column label="序号" header-align="center" align="center" type="index" width="55px" :index="getTableIndex_bigcardData" />
+                <el-table-column label="名称" align="center" prop="name" />
+                <el-table-column label="操作" align="center">
+                  <template slot-scope="scope">
+                    <el-button class="table-btn primary" size="mini" type="text" @click="onTiaozhuan_bigcardData(scope.row)">播放</el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
+              <el-row type="flex" justify="end" style="margin-top: 10px;">
+                <el-pagination
+                    :total="this.bigcardData.length"
+                    :current-page="this.bigcardData.currentPage"
+                    :page-size="this.bigcardData.pageSize"
+                    :page-sizes="[5,10,15, 20]"
+                    layout="total, prev, pager, next, sizes"
+                    @current-change="onCurrentPageChange_bigcardData"
+                    @size-change="onPageSizeChange_bigcardData">
+                </el-pagination>
+              </el-row>
+            </div>
+          </div>
+          <div class="full_video_list_camara">
+            <a style="float: left">监控视频</a>
+            <div class="full_video_list_camara_list" >
+              <el-row class="task_item_body1" >
+                <el-col :span="24"  >
+                <el-table
+                  :data="pagedData_bigcamaraData"
+                  :header-cell-style="changeHeaderCellStyle"
+                  :cell-style="changeCellStyle"
+                  stripe:border="true"
+                >
+                  <el-table-column label="序号" header-align="center" align="center" type="index" width="55px" :index="getTableIndex_bigcamaraData" />
+                  <el-table-column label="名称" align="center" prop="name" />
+                  <el-table-column label="操作" align="center">
+                    <template slot-scope="scope">
+                      <el-button class="table-btn primary" size="mini" type="text" @click="onTiaozhuan_bigcamaraData(scope.row)">播放</el-button>
+                    </template>
+                  </el-table-column>
+                </el-table>
+                <el-row type="flex" justify="end" style="margin-top: 10px;">
+                  <el-pagination
+                      :total="this.bigcamaraData.length"
+                      :current-page="this.bigcamaraData.currentPage"
+                      :page-size="this.bigcamaraData.pageSize"
+                      :page-sizes="[5,10,15, 20]"
+                      layout="total, prev, pager, next, sizes"
+                      @current-change="onCurrentPageChange_bigcamaraData"
+                      @size-change="onPageSizeChange_bigcamaraData">
+                  </el-pagination>
+                </el-row>
+              </el-col>
+              </el-row>
               </div>
-              <video id="videoPlayer_first" class="video-js" muted></video>
-          </div> -->
-          <!-- <div>
-              <div class="video_title_new_child">
-                  <div>监控名称</div>
-                  <div class="play_to_full">大屏播放</div>
-              </div>
-              <video id="videoPlayer_second" class="video-js" muted></video>
-          </div> -->
-          <!-- <div>
-              <div class="video_title_new_child">
-                  <div>监控名称</div>
-                  <div class="play_to_full">大屏播放</div>
-              </div>
-              <video id="videoPlayer_third" class="video-js" muted></video>
-          </div> -->
-          <!-- <div>
-              <div class="video_title_new_child">
-                  <div>监控名称</div>
-                  <div class="play_to_full">大屏播放</div>
-              </div>
-              <video id="videoPlayer_fourth" class="video-js" muted></video>
-          </div> -->
+          </div>
+
         </div>
       </div>
     </div>
@@ -63,16 +118,21 @@ import './taskScreen.css'
 import Videojs from "video.js"; // 引入Videojs
 
 import MonitorHK from '../components/hk/monitorHK.vue';
+import {isInteger, toInteger} from "lodash";
 export default {
   name: 'monitorScreen',
   components:{
     myFlylineChartEnhanced,
     sacleBox,
     myscrollBoard,
-
     MonitorHK
   },
   props: {
+
+    title: {
+      type: String,
+      default: ''
+    },
     videoData: {
       type: Array
     },
@@ -80,14 +140,483 @@ export default {
   data() {
     return {
 
+      radio1: '1',
+
+      options: [{
+        value: 4,
+        label: '1'
+      }, {
+        value: 4,
+        label: '4'
+      }, {
+        value: 9,
+        label: '9'
+      }, {
+        value: 16,
+        label: '16'
+      }, {
+        value: 25,
+        label: '25'
+      }],
+      selectedScreen: 1,
+
       dataSrc:'https://cctvwbndbd.a.bdydns.com/cctvwbnd/cctv1_2/index.m3u8?BR=single',
       playerList:[],
-      isShow: false
+      isShow: false,
+
+      HKbigCamaraShow: false,
+      HKbigCardShow: false,
+
+      bigData: {
+        // header: ['0','1', '2', '3','4', '5', '6','7'],
+        // waitTime:1500,
+        data: [],
+        length:0,
+        currentPage:1,
+        pageSize:3,
+
+        paged:true,
+      },
+      bigcamaraData:{
+        // header: ['0','1', '2', '3','4', '5', '6','7'],
+        // waitTime:1500,
+        data: [],
+        length:0,
+        currentPage:1,
+        pageSize:3,
+
+        paged:true,
+      },
+      bigcardData:{
+        // header: ['0','1', '2', '3','4', '5', '6','7'],
+        // waitTime:1500,
+        data: [],
+        length:0,
+        currentPage:1,
+        pageSize:3,
+
+        paged:true,
+      },
+
+      subjectName:'',
+      taskId:'',
+      bigcamaraSrc: ["", "", "", "", ""],
+      bigcamaraName: ["监控名称", "监控名称", "监控名称", "监控名称", "监控名称"],
+
+      bigcardName:[],
+      bigcardSrc:[],
 
 
     }
   },
+  computed:{
+    pagedData_bigcamaraData() { // 动态计算当前页的数据
+      const start = (this.bigcamaraData.currentPage - 1) * this.bigcamaraData.pageSize
+      const end = start + this.bigcamaraData.pageSize
+      if(this.bigcamaraData.data!=null){
+        console.log("hhhh1:  ",start+"---"+end )
+        console.log("hhhh2:  ",this.bigcamaraData.data )
+        console.log("hhhh3:  ",this.bigcamaraData.data.slice(start, end) )
+        return this.bigcamaraData.data.slice(start, end)
+      }else{
+        return null
+      }
+    },
+    pagedData_bigcardData() { // 动态计算当前页的数据
+      const start = (this.bigcardData.currentPage - 1) * this.bigcardData.pageSize
+      const end = start + this.bigcardData.pageSize
+      if(this.bigcardData.data!=null){
+        console.log("hhhh1:  ",start+"---"+end )
+        console.log("hhhh2:  ",this.bigcardData.data )
+        console.log("hhhh3:  ",this.bigcardData.data.slice(start, end) )
+        return this.bigcardData.data.slice(start, end)
+      }else{
+        return null
+      }
+    }
+
+  },
   methods:{
+    async handleChangeWindow(value) {
+      console.log("当前更新的窗口",value)
+      // this.num = value;
+    },
+
+    updateSelectedButton(button) {
+      console.log("更新button",this.selectedScreen,button)
+      this.selectedScreen = button;
+
+    },
+
+    bofang1(){
+      console.log("播放1",this.bigcardData)
+      console.log("播放2",this.bigcamaraData)
+      this.bigData=this.bigcardData
+      // this.handleChange()
+    },
+    bofang2(){
+      console.log("播放2",this.bigcamaraData)
+      this.bigData=this.bigcamaraData
+    },
+    onTiaozhuan_bigcamaraData (a) {
+      console.log("a",a)
+
+    },
+    onTiaozhuan_bigcardData (a) {
+      console.log("a",a)
+
+    },
+    /**
+     * 表格排序字段变化
+     * @param {String} prop 排序字段的字段名
+     * @param {String} order 正序还是倒序
+     */
+    onSortChange ({ prop, order }) {
+      console.log("h3:",prop,order)
+      this.orderInfo.fieldName = prop;
+      this.orderInfo.asc = (order === 'ascending');
+      this.refreshTable();
+    },
+    pagedData_bigcamaraData1() { // 动态计算当前页的数据
+      const start = (this.bigcamaraData.currentPage - 1) * this.bigcamaraData.pageSize
+      const end = start + this.bigcamaraData.pageSize
+      if(this.bigcamaraData.data!=null){
+        console.log("hhhh1:  ",start+"---"+end )
+        console.log("hhhh2:  ",this.bigcamaraData.data )
+        console.log("hhhh3:  ",this.bigcamaraData.data.slice(start, end) )
+        return this.bigcamaraData.data.slice(start, end)
+      }else{
+        return null
+      }
+
+    },
+    // 表格样式修改
+    changeHeaderCellStyle(row,column, rowIndex, columnIndex){
+      if(row.columnIndex === 0){
+        return 'background: #004279 ; color:#fff;'; // 修改的样式
+      }else {
+        return 'background: #004279 ;color:#fff; ';
+      }
+    },
+    changeCellStyle(row,column, rowIndex, columnIndex){
+      if(row.columnIndex === 0){
+        return 'background: #0A427C  ; color:#fff;'; // 修改的样式
+      }else {
+        return 'background: #0A427C ; color:#fff;';
+      }
+    },
+    /**
+     * 获取每一行的index信息
+     * @param {Integer} index 表格在本页位置
+     */
+    getTableIndex_bigcamaraData (index) {
+      let a
+      console.log("参数20: "+this.bigcamaraData.data,this.bigcardData.data,this.bigData.data)
+      console.log("参数:  "+this.bigcamaraData.paged+" "+this.bigcamaraData.pageSize+" "+index)
+      a=((this.bigcamaraData.currentPage - 1) * this.bigcamaraData.pageSize + (index + 1))
+      console.log(".....a  "+a)
+      return a;
+    },
+    onCurrentPageChange_bigcamaraData (newCurrentPage) {
+
+      console.log("1:  ",newCurrentPage )
+      console.log("2:  ",this.bigcamaraData.pageSize )
+      console.log("3:  ",this.oldPage)
+
+      this.loadTableDataImpl_bigcamaraData(newCurrentPage, this.bigcamaraData.pageSize).then(() => {//数据加载成功
+
+        this.bigcamaraData.currentPage = newCurrentPage;
+        this.oldPage = this.bigcamaraData.currentPage-1
+        console.log("4:  ",newCurrentPage)
+        console.log("5:  ",this.bigcamaraData.currentPage)
+        console.log("6:  ",this.oldPage)
+
+        if(this.bigcamaraData.data.length <= newCurrentPage*this.bigcamaraData.pageSize   ){
+          this.bigcamaraData.paged=true
+        }else{
+          this.bigcamaraData.paged=false
+        }
+
+      }).catch(() => {//数据加载失败
+        this.bigcamaraData.currentPage = this.oldPage;
+        console.log("7:  ",this.oldPage)
+        console.log("8:  ",this.bigcamaraData.currentPage)
+
+      });
+    },
+    /**
+     * 表格分页每页显示数量变化
+     * @param {Integer} newPageSize 变化后的每页显示数量
+     */
+    onPageSizeChange_bigcamaraData (newPageSize) {
+      console.log("hhhh2:  ",newPageSize )
+      this.bigcamaraData.pageSize = newPageSize;
+      this.bigcamaraData.currentPage = 1
+      this.loadTableDataImpl_bigcamaraData(1, newPageSize).then(() => {
+        this.oldPage = this.bigcamaraData.currentPage;
+        this.oldPageSize = this.bigcamaraData.pageSize;
+      }).catch(e => {
+        this.bigcamaraData.currentPage = this.oldPage;
+        this.bigcamaraData.pageSize = this.oldPageSize;
+      });
+    },
+    /**
+     * 获取表格数据
+     * @param {Integer} pageNum 当前分页
+     * @param {Integer} pageSize 每页数量
+     * @param {Boolean} reload 是否重新获取数据
+     */
+    loadTableDataImpl_bigcamaraData (pageNum, pageSize, reload = false) {
+      console.log("11:  ",pageNum+"---"+pageSize+"---"+reload)
+      // 判断是否需要重新加载数据
+      if (reload || !this.bigcamaraData.data || this.bigcamaraData.data.length === 0) {
+        // 调用后端接口或其他数据来源获取数据
+        // 这里省略具体实现
+
+        // 模拟一个返回结果的 Promise 对象
+        const mockData = new Promise(resolve => {
+          const data = [];
+          for (let i = 1; i <= pageSize; i++) {
+            data.push({
+              id: pageNum * pageSize + i,
+              name: `任务${pageNum * pageSize + i}`,
+              status: Math.floor(Math.random() * 4)
+            });
+          }
+
+          resolve(data);
+        });
+        // 返回 Promise 对象,以便分页组件可以在数据加载完成后进行下一步处理。
+        return mockData.then(data => {
+          // 更新任务列表数据
+          this.bigcamaraData.data = data;
+          // 返回新的任务列表数据
+          return this.bigcamaraData.data.slice((pageNum - 1) * pageSize, pageNum * pageSize);
+        });
+      } else {// 直接返回已有的任务列表数据
+        console.log("112:")
+        console.log("112_1:",pageNum ,pageSize)
+        console.log("112_2:",this.bigcamaraData.data.slice((pageNum - 1) * pageSize,pageNum * pageSize))
+        console.log("112_2:",Promise.resolve(this.bigcamaraData.data.slice((pageNum - 1) * pageSize,pageNum * pageSize)))
+        return Promise.resolve(this.bigcamaraData.data.slice((pageNum - 1) * pageSize, pageNum * pageSize));
+      }
+    },
+
+
+
+
+    /**
+     * 获取每一行的index信息
+     * @param {Integer} index 表格在本页位置
+     */
+    getTableIndex_bigcardData (index) {
+      let a
+      console.log("参数10: "+this.bigcamaraData.data,this.bigcardData.data,this.bigData.data)
+      console.log("参数:  "+this.bigcardData.paged+" "+this.bigcardData.pageSize+" "+index)
+      a=((this.bigcardData.currentPage - 1) * this.bigcardData.pageSize + (index + 1))
+      console.log(".....a  "+a)
+      return a;
+    },
+    onCurrentPageChange_bigcardData (newCurrentPage) {
+
+      console.log("1:  ",newCurrentPage )
+      console.log("2:  ",this.bigcardData.pageSize )
+      console.log("3:  ",this.oldPage)
+
+      this.loadTableDataImpl_bigcardData(newCurrentPage, this.bigcardData.pageSize).then(() => {//数据加载成功
+
+        this.bigcardData.currentPage = newCurrentPage;
+        this.oldPage = this.bigcardData.currentPage-1
+        console.log("4:  ",newCurrentPage)
+        console.log("5:  ",this.bigcardData.currentPage)
+        console.log("6:  ",this.oldPage)
+
+        if(this.bigcardData.data.length <= newCurrentPage*this.bigcardData.pageSize   ){
+          this.bigcardData.paged=true
+        }else{
+          this.bigcardData.paged=false
+        }
+
+      }).catch(() => {//数据加载失败
+        this.bigcardData.currentPage = this.oldPage;
+        console.log("7:  ",this.oldPage)
+        console.log("8:  ",this.bigcardData.currentPage)
+
+      });
+    },
+    /**
+     * 表格分页每页显示数量变化
+     * @param {Integer} newPageSize 变化后的每页显示数量
+     */
+    onPageSizeChange_bigcardData (newPageSize) {
+      console.log("hhhh2:  ",newPageSize )
+      this.bigcardData.pageSize = newPageSize;
+      this.bigcardData.currentPage = 1
+      this.loadTableDataImpl_bigcardData(1, newPageSize).then(() => {
+        this.oldPage = this.bigcardData.currentPage;
+        this.oldPageSize = this.bigcardData.pageSize;
+      }).catch(e => {
+        this.bigcardData.currentPage = this.oldPage;
+        this.bigcardData.pageSize = this.oldPageSize;
+      });
+    },
+    /**
+     * 获取表格数据
+     * @param {Integer} pageNum 当前分页
+     * @param {Integer} pageSize 每页数量
+     * @param {Boolean} reload 是否重新获取数据
+     */
+    loadTableDataImpl_bigcardData (pageNum, pageSize, reload = false) {
+      console.log("11:  ",pageNum+"---"+pageSize+"---"+reload)
+      // 判断是否需要重新加载数据
+      if (reload || !this.bigcardData.data || this.bigcardData.data.length === 0) {
+        // 调用后端接口或其他数据来源获取数据
+        // 这里省略具体实现
+
+        // 模拟一个返回结果的 Promise 对象
+        const mockData = new Promise(resolve => {
+          const data = [];
+          for (let i = 1; i <= pageSize; i++) {
+            data.push({
+              id: pageNum * pageSize + i,
+              name: `任务${pageNum * pageSize + i}`,
+              status: Math.floor(Math.random() * 4)
+            });
+          }
+
+          resolve(data);
+        });
+        // 返回 Promise 对象,以便分页组件可以在数据加载完成后进行下一步处理。
+        return mockData.then(data => {
+          // 更新任务列表数据
+          this.bigcardData.data = data;
+          // 返回新的任务列表数据
+          return this.bigcardData.data.slice((pageNum - 1) * pageSize, pageNum * pageSize);
+        });
+      } else {// 直接返回已有的任务列表数据
+        return Promise.resolve(this.bigcardData.data.slice((pageNum - 1) * pageSize, pageNum * pageSize));
+      }
+    },
+
+    init(){
+      // this.bigcamaraData=this.$route.query.camaraData
+      // this.bigcardData=this.$route.query.cardData
+      this.subjectName=this.$route.query.subjectInfo1
+      this.taskId=this.$route.query.subjectInfo2
+      // this.init('步坦协同课目')
+      console.log("0",this.subjectName,this.taskId)
+      console.log("1",this.$route.query)
+      this.initUrl()
+      // console.log(this.bigcamaraData)
+      // console.log("...")
+      // console.log(this.bigcardData)
+    },
+    async initUrl() {
+      this.bigData.data=[];
+      let params = {
+        subjectName: this.subjectName,
+        taskId: this.taskId
+      };
+      this.currentSubject = this.subjectName;
+      this.bigcamaraData.data = [];
+      const res = await request("/dt_screen/rest/v2/video/videos/getSubjectUrls", "post", params, false);
+      let index = 0;
+      this.SubjectInfo1=params.subjectName
+      this.SubjectInfo2=params.taskId
+      this.SubjectInfo3=res.data.data
+
+
+      console.log("cansgu1",params.subjectName,params.taskId)
+      console.log("res1",res.data.data)
+
+
+      this.bigcamaraSrc = ["", "", "", "", ""];
+      this.bigcamaraName = ["监控名称", "监控名称", "监控名称", "监控名称", "监控名称"];
+      // console.log()
+      for (let item in res.data.data) {
+        // this.camaraSrc[index] = res.data.data[item].url;
+        // this.camaraName[index++] = res.data.data[item].name;
+        let data = {
+          name: res.data.data[item].name,
+          ip: res.data.data[item].ip,
+          Port: res.data.data[item].port,
+          Username: res.data.data[item].username,
+          Password: res.data.data[item].password,
+          channelName: res.data.data[item].channelName
+        };
+        this.bigcamaraData.data.push(data);
+        this.bigData.data.push(data);
+      }
+      console.log('bigcamaraData :>> ', this.bigcamaraData.data);
+      this.bigcamaraData.length=this.bigcamaraData.data.length
+
+
+      setTimeout(() => {
+        this.HKbigCamaraShow = true;
+      }, 800);
+
+      let params1 = {
+        subjectName: this.subjectName,
+        taskId: this.taskId
+      };
+      this.currentSubject = this.subjectName;
+      this.bigcardData.data = [];
+      const res1 = await request("/dt_screen/rest/v2/video/videos/getSubjectCardUrls", "post", params1, false);
+
+      console.log("cansgu2",params.subjectName,params.taskId)
+      console.log("res1",res1.data.data)
+      let index1 = 0;
+      this.bigcardSrc = ["", "", "", "", ""];
+      this.bigcardName = ["监控名称", "监控名称", "监控名称", "监控名称", "监控名称"];
+      for (let item in res1.data.data) {
+        // this.cardSrc[index1] = res1.data.data[item].url;
+        // this.cardName[index1++] = res1.data.data[item].name;
+        let data = {
+          name: res1.data.data[item].name,
+          ip: res1.data.data[item].ip,
+          Port: res1.data.data[item].port,
+          Username: res1.data.data[item].username,
+          Password: res1.data.data[item].password,
+          channelName: res1.data.data[item].channelName
+        };
+        this.bigcardData.data.push(data);
+        this.bigData.data.push(data);
+      }
+      console.log('bigcardData :>> ', this.bigcardData.data);
+      console.log('bigData :>> ', this.bigData.data);
+
+
+      this.bigcardData.length=this.bigcardData.data.length
+
+    },
+    HKbigCamaraInit(){
+      this.HKbigCamaraShow = true;
+
+    },
+
+    selectChange(val){
+      // 此时 val 为当前对象
+      console.log("isInteger1",isInteger(val))
+      console.log("isInteger2",isInteger(parseInt(val)))
+      this.selectedScreen =parseInt(val)
+
+      // this.selectedScreen =val
+      console.log(val)
+      // this.num=this.selectedScreen
+
+      // if (subjectName == '')
+      //   return;
+      // if(subjectName != this.currentSubject) {
+      //   this.currentSubject = subjectName;
+      //   // this.$refs.hkv.stopAll();
+      //   // this.$refs.hkCard.stopAll();
+      //   this.camaraData = []
+      //   this.cardData = []
+      //   this.initUrl(subjectName);
+      // }
+
+
+    },
 
     showFull(){
       this.$router.push('/taskScreen')
@@ -121,19 +650,13 @@ export default {
   created(){
 //   this.videoData = this.$route.query.videoData;
 //   console.log(this.$route.query.videoData);
-    this.videoData = JSON.parse(this.$route.query.videoData);
+//     this.videoData = JSON.parse(this.$route.query.videoData);
+    this.init();
   },
   mounted(){
-    setTimeout(() => {
-      this.isShow = true;
-    }, 1000);
 
+    // this.init();
 
-    // this.initVideo(this.dataSrc,'videoPlayerTask',true)
-    // this.initVideo(this.dataSrc,'videoPlayer_first',false)
-    // this.initVideo(this.dataSrc,'videoPlayer_second',false)
-    // this.initVideo(this.dataSrc,'videoPlayer_third',false)
-    // this.initVideo(this.dataSrc,'videoPlayer_fourth',false)
   },
   beforeDestroy() {
     if(this.playerList.length){
@@ -145,6 +668,16 @@ export default {
 }
 </script>
 <style scoped>
+.player {
+  background-color: #d9b3b3;
+  height: 50%;
+  width: 50%;
+  border: 1px solid white;
+  color: white;
+  text-align: center;
+}
+
+
 .monitor_video_box {
   display: flex;
   align-items: flex-start;
@@ -168,19 +701,60 @@ export default {
 .full_video_list {
   width: 20%;
   height: 100%;
-  /* border:1px solid yellow; */
+  /*border:1px solid yellow;*/
+  /*padding:17px 10px 10px 10px;*/
+  /*box-sizing: border-box;*/
+  /*background-image:url('../assets/img/opitty.png');*/
+  /*background-repeat:no-repeat;*/
+  /*background-size:100% 100%;*/
+
+
+  /*background: #0027a8;*/
+}
+.full_video_list_card {
+  width: 100%;
+  height: 49%;
+   /*border:1px solid yellow;*/
   padding:17px 10px 10px 10px;
   box-sizing: border-box;
   background-image:url('../assets/img/opitty.png');
   background-repeat:no-repeat;
   background-size:100% 100%;
+
+  background: #004279;
+}
+
+.full_video_list_card_list{
+  margin-top: 30px;
 }
 
+
+.full_video_list_camara{
+  position: relative;
+  z-index: 1;
+  margin-top: 4%;
+  width: 100%;
+  height: 49%;
+   /*border:1px solid yellow;*/
+  padding:17px 10px 10px 10px;
+  box-sizing: border-box;
+  background-image:url('../assets/img/opitty.png');
+  background-repeat:no-repeat;
+  background-size:100% 100%;
+
+  /*background: #13864d;*/
+  background: #004279;
+  /*margin: 10px;*/
+}
+.full_video_list_camara_list{
+  margin-top: 30px;
+}
 .video_title_new {
   font-size: 18px;
   font-weight: 600;
   margin: 10px 0;
 }
+
 .exit_box_hanlde {
   display: flex;
   justify-content: end;

+ 29 - 3
src/views/taskScreen.vue

@@ -304,7 +304,9 @@ export default {
   },
   data() {
     return {
-
+      SubjectInfo1:'',
+      SubjectInfo2:'',
+      SubjectInfo3:[],
       HKCardShow: false,
       HKCamaraShow: false,
       systemFinshedValue:'',
@@ -533,6 +535,11 @@ export default {
       if (success) {
         console.log('获取任务的课目信息', data);
         this.subjectDatas=data
+
+        this.SubjectInfo1=this.subjectDatas[0].subjectName
+        this.SubjectInfo2=taskId
+
+
         this.initUrl(this.subjectDatas[0].subjectName)
       } else {
         this.$message.error(errorMessage)
@@ -704,7 +711,11 @@ export default {
         {
           path: './monitorScreen',
           query: {
-            camaraData: JSON.stringify(this.camaraData)
+            subjectInfo1:this.SubjectInfo1,
+            subjectInfo2:this.SubjectInfo2,
+            // subjectInfo3:this.SubjectInfo3,
+            // camaraData: JSON.stringify(this.camaraData),
+            // cardData: JSON.stringify(this.cardData)
           }
         }
       )
@@ -715,8 +726,15 @@ export default {
       this.$router.push(
         {
           path: './monitorScreen',
+          // query: {
+          //   camaraData: JSON.stringify(this.cardData)
+          // }
           query: {
-            camaraData: JSON.stringify(this.cardData)
+            subjectInfo1:this.SubjectInfo1,
+            subjectInfo2:this.SubjectInfo2,
+            // subjectInfo3:this.SubjectInfo3,
+            // camaraData: JSON.stringify(this.camaraData),
+            // cardData: JSON.stringify(this.cardData)
           }
         }
       )
@@ -828,6 +846,11 @@ export default {
       this.cardData = [];
       const res = await request("/dt_screen/rest/v2/video/videos/getSubjectUrls", "post", params, false);
       let index = 0;
+      // this.SubjectInfo1=params.subjectName
+      // this.SubjectInfo2=params.taskId
+      // this.SubjectInfo3=res.data.data
+      console.log("cansgu",params.subjectName,params.taskId)
+      console.log("res",res.data.data)
       this.camaraSrc = ["", "", "", "", ""];
       this.camaraName = ["监控名称", "监控名称", "监控名称", "监控名称", "监控名称"];
 
@@ -920,6 +943,9 @@ export default {
     this.getAllSystems();
     // 建立任务的weksocket链接
     this.initWebsoket();
+
+    // this.SubjectInfo1=this.subjectName
+    // this.SubjectInfo2=this.taskId
     // setTimeout(() => {
     // this.initUrl('步坦协同课目');
     //   }, 1000);