From 0397e2fb15fbccc77d6da16196d30ae54114aa2f Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Mon, 06 Sep 2021 16:52:47 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/zhba_regulatory

---
 src/views/home/index.scss                             |   49 
 src/views/home/index_1600_900.scss                    |  698 ++++++++++++++
 src/views/map/carGps.vue                              |   13 
 src/views/home/index.vue                              |  128 +-
 vue.config.js                                         |    6 
 public/carVideo/children1.html                        |  503 ++++++++++
 src/views/home/index_1280_1024.scss                   |  699 ++++++++++++++
 public/carVideo/children.html                         |   17 
 src/components/map/main.vue                           |   14 
 src/views/securityUnitOperation/economicAnalysis.vue  |   65 +
 src/views/securityUnitOperation/operationAnalysis.vue |  345 +++++-
 public/carVideo/parent.html                           |  323 +++---
 12 files changed, 2,511 insertions(+), 349 deletions(-)

diff --git a/public/carVideo/children.html b/public/carVideo/children.html
index 4ed36a9..00bb9e4 100644
--- a/public/carVideo/children.html
+++ b/public/carVideo/children.html
@@ -110,10 +110,10 @@
         <textarea id="initParam" type="text" style="width:260px;height:200px;">
                   {
                     "argument": {
-                        "appkey": "26589653",
-                        "ip": "61.131.136.18",
-                        "port": 10443,
-                        "secret": "hSzZW0VHfyHgJziMemOx",
+                        "appkey": "26864254",
+                        "ip": "47.49.21.159",
+                        "port": 443,
+                        "secret": "oC2JAzu6PH5OqqcbGQCy",
                         "enableHTTPS": 1,
                         "layout": "1x1",
                         "playMode": 0
@@ -136,7 +136,7 @@
         <textarea id="playParam" type="text" style="width:260px;height:200px;">
                   {
                     "argument": {
-                        "cameraIndexCode": "1f792961883543c6868cc8b200291962",
+                        "cameraIndexCode": "36015602001310925219",
                         "ezvizDirect": 0,
                         "gpuMode": 0,
                         "streamMode": 0,
@@ -386,7 +386,12 @@
     });
   }
 
-  initPlugin();
+  function close() {
+    if (oWebControl != null) {
+      oWebControl.JS_HideWnd(); // 先让窗口隐藏,规避可能的插件窗口滞后于浏览器消失问题
+      oWebControl.JS_Disconnect().then(function () { }, function () { });
+    }
+  }
 
 
   // 获取公钥
diff --git a/public/carVideo/children1.html b/public/carVideo/children1.html
new file mode 100644
index 0000000..4ed36a9
--- /dev/null
+++ b/public/carVideo/children1.html
@@ -0,0 +1,503 @@
+<!doctype html>
+<html>
+
+<head>
+  <title>预览Demo</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <meta http-equiv="Pragma" content="no-cache" />
+  <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
+  <meta http-equiv="Expires" content="0" />
+</head>
+<style>
+  html,
+  body {
+    padding: 0;
+    margin: 0;
+  }
+
+  .playWnd {
+    position: fixed;
+    top: 0;
+    right: 0;
+    left: 0;
+    bottom: 0;
+    margin: auto;
+    width: 800px;
+    height: 400px;
+    color: #fff;
+  }
+
+  .cbInfoDiv {
+    float: left;
+    width: 360px;
+    margin-left: 16px;
+    border: 1px solid #7F9DB9;
+  }
+
+  .cbInfo {
+    height: 200px;
+    padding: 5px;
+    border: 1px solid #7F9DB9;
+    word-break: break-all;
+    overflow: scroll/auto;
+  }
+
+  .operate {
+    margin-top: 24px;
+    display: none;
+  }
+
+  .operate::after {
+    content: '';
+    display: block;
+    clear: both;
+  }
+
+  .operate .btns {
+    height: 32px;
+  }
+
+  .module {
+    float: left;
+    width: 120px;
+    min-height: 290px;
+    margin-left: 10px;
+    padding: 16px 8px;
+    box-sizing: border-box;
+    border: 1px solid #e5e5e5;
+  }
+
+  .module .item {
+    margin-bottom: 4px;
+  }
+
+  .module .label {
+    width: 150px;
+    display: inline-block;
+    vertical-align: middle;
+    margin-right: 8px;
+    text-align: right;
+  }
+
+  .module input[type="text"],
+  .module select {
+    box-sizing: border-box;
+    display: inline-block;
+    vertical-align: middle;
+    margin-left: 0;
+    width: 150px;
+    min-height: 20px;
+  }
+
+  .module .btn {
+    min-width: 80px;
+    min-height: 24px;
+    margin-top: 16px;
+    margin-left: 158px;
+  }
+</style>
+
+<body>
+  <div id="playWnd" class="playWnd"></div>
+  <div id="operate" class="operate">
+    <!--初始化、反初始化、设置认证信息接口调用入口。
+        1.插件所有接口都需要在调用初始化并返回成功后才能调用
+        2.设置认证信息仅适用于对接多平台时的情况,具体参照开发指南
+        3.反初始化后,插件资源销毁-->
+    <div class="module" style="left:30px;height:30px;width:280px;padding:10;margin:10;">
+      <div class="item">
+        <label>初始化相关参数:</label>
+        <textarea id="initParam" type="text" style="width:260px;height:200px;">
+                  {
+                    "argument": {
+                        "appkey": "26589653",
+                        "ip": "61.131.136.18",
+                        "port": 10443,
+                        "secret": "hSzZW0VHfyHgJziMemOx",
+                        "enableHTTPS": 1,
+                        "layout": "1x1",
+                        "playMode": 0
+                    },
+                    "funcName": "init"
+                }
+                </textarea>
+      </div>
+      <div class="item">
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button style="width:10px;padding:0;margin:0;" id="initBtn" class="btn">执行</button>
+      </div>
+    </div>
+
+    <!--单个点位播放、批量点位播放、批量停止播放、全部停止播放接口调用入口。
+        1.authUuid为对接多平台时必须的播放字段,对接单平台时,可不指定-->
+    <div class="module" style="height:30;width:280px;padding:10;margin:10;">
+      <div class="item">
+        <label>播放相关参数:</label>
+        <textarea id="playParam" type="text" style="width:260px;height:200px;">
+                  {
+                    "argument": {
+                        "cameraIndexCode": "1f792961883543c6868cc8b200291962",
+                        "ezvizDirect": 0,
+                        "gpuMode": 0,
+                        "streamMode": 0,
+                        "transMode": 1,
+                        "wndId": -1
+                    },
+                    "funcName": "startPreview"
+                }
+        </textarea>
+      </div>
+      <div class="item">
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button style="width:10px;padding:0;margin:0;" id="playBtn" class="btn">执行</button>
+      </div>
+    </div>
+    <div class="module" style="height:50;width:300px;padding:10;margin:10;">
+      <legend>返回值信息</legend>
+      <div id="cbInfo" class="cbInfo"></div>
+      <button style="width:80px;height:24px;padding:30;margin:0;" id="clear">清空</button>
+    </div>
+  </div>
+</body>
+<script src="jquery-1.12.4.min.js"></script>
+<script src="jsencrypt.min.js"></script>
+<script src="jsWebControl-1.0.0.min.js"></script>
+
+<script type="text/javascript">
+  // 插件对象实例,初始化为null,需要创建多个插件窗口时,需要定义多个插件对象实例变量,各个变量唯一标志对应的插件实例
+  var oWebControl = null;
+  var bIE = (!!window.ActiveXObject || 'ActiveXObject' in window); // 是否为IE浏览器
+  var pubKey = ''; // demo中未使用加密,可根据需求参照开发指南自行使用加密功能
+  var initCount = 0; // 异常重启计数
+  var iframePos = {}; // iframe相对文档的位置
+  var parentTitle = ''; // 父页面标题
+  var iframeClientPos = null; // iframe相对视窗的位置
+  var iframeParentShowSize = null; // 视窗大小 width height
+
+  // 标签关闭
+  $(window).unload(function () {
+    if (oWebControl != null) {
+      oWebControl.JS_HideWnd(); // 先让窗口隐藏,规避可能的插件窗口滞后于浏览器消失问题
+      oWebControl.JS_Disconnect().then(function () { }, function () { });
+    }
+  });
+
+  // 步骤1:监听父页面的消息
+  window.addEventListener('message', function (e) {
+    if (e && e.data) {
+      console.log(e.data.action, 9595);
+
+      switch (e.data.action) {
+
+        case 'sendTitle': // 父页面将其标题发送过来,子页面保存该标题,以便创建插件窗口成功后将标题设置回给父页面
+          parentTitle = e.data.info;
+          break;
+        case 'updatePos': // 更新插件位置:JS_CreateWnd时需要父页面计算滚动条偏移量,初始偏移量叠加该偏移量作为iframe的偏移量,防止插件窗口与DIV窗口初始不贴合情况
+          var scrollValue = e.data.scrollValue; // 滚动条滚动偏移量
+
+          console.log(iframePos, scrollValue, iframePos.left + scrollValue.left, iframePos.top + scrollValue.top)
+
+          oWebControl.JS_SetDocOffset({
+            top: 240,
+            left: 410,
+          }); // 更新插件窗口位置
+
+          oWebControl.JS_Resize(800, 400);
+          setWndCover();
+          break;
+        case 'updateInitParam':
+          iframePos = e.data.iframeOffset; // iframe与文档的偏移量
+          iframeClientPos = e.data.iframeClientPos; // iframe相对视窗的位置
+          iframeParentShowSize = e.data.showSize; // 视窗大小
+          break;
+        case 'resize':
+          iframeParentShowSize = e.data.showSize; // 视窗大小
+          iframePos = e.data.iframeOffset; // iframe与文档的偏移量
+          iframeClientPos = e.data.iframeClientPos; // iframe相对视窗的位置
+          setWndCover();
+          break;
+        case 'scroll':
+          iframeParentShowSize = e.data.showSize; // 视窗大小
+          iframePos = e.data.iframeOffset; // iframe与文档的偏移量
+          iframeClientPos = e.data.iframeClientPos; // iframe相对视窗的位置
+          var scrollValue = e.data.scrollValue; // 滚动条滚动偏移量
+          if (oWebControl) {
+            oWebControl.JS_SetDocOffset({
+              left: iframePos.left + scrollValue.left,
+              top: iframePos.top + scrollValue.top
+            }); // 更新插件窗口位置
+            oWebControl.JS_Resize(800, 400);
+            setWndCover();
+          }
+          break;
+        default:
+          break;
+      }
+    }
+  });
+
+  // 顶部:iframe.getBoundingClientRect().top小于0并且其绝对值超过DIV.get(0).getBoundingClientRect().top部分需要剪切
+  // 底部:(iframe.getBoundingClientRect().bottom - iframe父窗口可视域高度,为H1)为不可见部分
+  //       ($(window).height() - DIV.get(0).getBoundingClientRect().bottom)
+  //        为DIV底部与其所在iframe底部之间的距离H2,H1-H2的值大于0则表示DIV有部分在不可见区域
+  // 左边:iframe.getBoundingClientRect().left小于0并且其绝对值超过DIV.get(0).getBoundingClientRect().left部分需要剪切
+  // 右边:(iframe宽度 - DIV.get(0).getBoundingClientRect().right表示DIV右边与其父iframe右边之间的距离,为W1)
+  //       (iframe父窗口可视域宽度-iframe.getBoundingClientRect().left表示iframe左边与iframe父窗口可视域右边之间的距离,为W2)
+  //       (iframe宽度 - W2 - W1)如果大于0,则表示DIV右边超出了iframe父窗口可视域,需要剪切超过的部分
+  function setWndCover() {
+    if (oWebControl) {
+      // 准备要用到的一些数据
+      var iframeWndHeight = $(window).height(); // iframe窗口高度
+      var iframeWndWidth = $(window).width(); // iframe窗口宽度
+      var divLeft = $("#playWnd").get(0).getBoundingClientRect().left;
+      var divTop = $("#playWnd").get(0).getBoundingClientRect().top;
+
+
+
+
+      var divRight = $("#playWnd").get(0).getBoundingClientRect().right;
+      var divBottom = $("#playWnd").get(0).getBoundingClientRect().bottom;
+
+
+      var divWidth = $("#playWnd").width();
+      var divHeight = $("#playWnd").height();
+
+      // divLeft = (divLeft > 800 || divLeft == 0) ? 800 : divLeft;
+
+      // divTop = (divTop > 400 || divTop == 0) ? 400 : divTop;
+
+      // divRight = (divRight > 800 || divRight == 0) ? 800 : divRight;
+
+      // divBottom = (divBottom > 400 || divBottom == 0) ? 400 : divBottom;
+
+
+      console.log(iframeWndHeight, iframeWndWidth, divLeft, divTop, divRight, divBottom, divWidth, divHeight, 548)
+
+      oWebControl.JS_RepairPartWindow(0, 0, 801, 401); // 多1个像素点防止还原后边界缺失一个像素条
+
+      // 判断剪切矩形的上边距
+      if (iframeClientPos.top < 0 && Math.abs(iframeClientPos.top) > divTop) {
+        var deltaTop = Math.abs(iframeClientPos.top) - divTop;
+        oWebControl.JS_CuttingPartWindow(0, 0, 801, deltaTop + 1);
+        //console.log({deltaTop: deltaTop});
+      }
+
+      // 判断剪切矩形的左边距
+      if (iframeClientPos.left < 0 && Math.abs(iframeClientPos.left) > divLeft) {
+        var deltaLeft = Math.abs(iframeClientPos.left) - divLeft;
+        //console.log({deltaLeft: deltaLeft});
+        oWebControl.JS_CuttingPartWindow(0, 0, deltaLeft, 401); // 多剪掉一个像素条,防止出现剪掉一部分窗口后出现一个像素条
+      }
+
+      // 判断剪切矩形的右边距
+      var W1 = iframeWndWidth - divRight;
+      var W2 = iframeParentShowSize.width - iframeClientPos.left;
+      if (W2 < divWidth) {
+        var deltaRight = iframeWndWidth - W2 - W1;
+        if (deltaRight > 0) {
+          oWebControl.JS_CuttingPartWindow(800 - deltaRight, 0, deltaRight + 1, 401);
+        }
+      }
+
+      // 判断剪切矩形的下边距
+      var H1 = iframeClientPos.bottom - iframeParentShowSize.height;
+      var H2 = iframeWndHeight - divBottom;
+      var deltaBottom = H1 - H2;
+      //console.log({deltaBottom: deltaBottom});
+      if (deltaBottom > 0) {
+        oWebControl.JS_CuttingPartWindow(0, 400 - deltaBottom, 801, deltaBottom + 1);
+      }
+    }
+  }
+
+  // 创建插件实例,并启动本地服务建立websocket连接,创建插件窗口
+  function initPlugin() {
+    oWebControl = new WebControl({
+      szPluginContainer: "playWnd",
+      iServicePortStart: 15900,
+      iServicePortEnd: 15909,
+      szClassId: "23BF3B0A-2C56-4D97-9C03-0CB103AA8F11", // 用于IE10使用ActiveX的clsid
+      cbConnectSuccess: function () {
+        initCount = 0;
+        setCallbacks();
+        oWebControl.JS_StartService("window", {
+          dllPath: "./VideoPluginConnect.dll"
+        }).then(function () {
+          // 步骤2:JS_CreateWnd时指定cbSetDocTitle回调,并在回调中向父页面发送更新标题消息,标题为回调出来的uuid
+          oWebControl.JS_CreateWnd("playWnd", 800, 400, {
+            cbSetDocTitle: function (uuid) {
+              oWebControl._pendBg = false;
+              window.parent.postMessage({
+                action: 'updateTitle',
+                msg: '子页面通知父页面修改title',
+                info: uuid
+              }, '\*'); // '\*'表示跨域参数,请结合自身业务合理设置
+            }
+          }).then(function () {
+            // 步骤3:JS_CreateWnd成功后通知父页面将其标题修改回去
+            console.log("JS_CreateWnd success");
+            window.parent.postMessage({
+              action: 'updateTitle',
+              msg: '子页面通知父页面更新title',
+              info: parentTitle
+            }, '\*');
+
+            // 步骤4:发消息更新插件窗口位置:这里不直接更新的原因是,父页面默认可能就存在滚动条,此时有滚动量
+            window.parent.postMessage({
+              action: 'updatePos',
+              msg: '更新Pos'
+            }, '\*');
+
+            initBtnClicked();
+
+            setTimeout(function () {
+              $("#playBtn").trigger('click');
+            }, 3000)
+          });
+        }, function () {
+          console.log("JS_CreateWnd fail");
+        });
+      },
+      cbConnectError: function () {
+        console.log("cbConnectError");
+        oWebControl = null;
+        $("#playWnd").html("插件未启动,正在尝试启动,请稍候...");
+        WebControl.JS_WakeUp("VideoWebPlugin://");
+        initCount++;
+        if (initCount < 3) {
+          setTimeout(function () {
+            initPlugin();
+          }, 3000)
+        } else {
+          $("#playWnd").html("插件启动失败,请检查插件是否安装!<a href='./VideoWebPlugin.exe' target='_blank' style='color: var(--mcblue)'>点击下载</a>");
+        }
+      },
+      cbConnectClose: function (bNormalClose) {
+        // 异常断开:bNormalClose = false
+        // JS_Disconnect正常断开:bNormalClose = true
+        if (true == bNormalClose) {
+          console.log("cbConnectClose normal");
+        } else {
+          console.log("cbConnectClose exception");
+        }
+
+        oWebControl = null;
+      }
+    });
+  }
+
+  initPlugin();
+
+
+  // 获取公钥
+  function getPubKey(callback) {
+    oWebControl.JS_RequestInterface({
+      funcName: "getRSAPubKey",
+      argument: JSON.stringify({
+        keyLength: 1024
+      })
+    }).then(function (oData) {
+      console.log(oData)
+      if (oData.responseMsg.data) {
+        pubKey = oData.responseMsg.data
+        callback()
+      }
+    })
+  }
+
+  // 设置窗口控制回调
+  function setCallbacks() {
+    oWebControl.JS_SetWindowControlCallback({
+      cbIntegrationCallBack: cbIntegrationCallBack
+    });
+  }
+
+  // 推送消息
+  function cbIntegrationCallBack(oData) {
+    showCBInfo(JSON.stringify(oData.responseMsg));
+  }
+
+  // RSA加密
+  function setEncrypt(value) {
+    var encrypt = new JSEncrypt();
+    encrypt.setPublicKey(pubKey);
+    return encrypt.encrypt(value);
+  }
+
+  function requestInterface(value) {
+    oWebControl.JS_RequestInterface(JSON.parse(value)).then(function (oData) {
+      console.log(oData)
+      showCBInfo(JSON.stringify(oData ? oData.responseMsg : ''));
+    });
+  }
+
+  // 显示接口返回的消息及插件回调信息
+  function showCBInfo(szInfo, type) {
+    if (type === 'error') {
+      szInfo = "<div style='color: red;'>" + dateFormat(new Date(), "yyyy-MM-dd hh:mm:ss") + " " + szInfo +
+        "</div>";
+    } else {
+      szInfo = "<div>" + dateFormat(new Date(), "yyyy-MM-dd hh:mm:ss") + " " + szInfo + "</div>";
+    }
+    $("#cbInfo").html(szInfo + $("#cbInfo").html());
+
+
+
+  }
+
+  function initBtnClicked() {
+    var param = $("#initParam").val();
+    //删除字符串中的回车换行
+    param = param.replace(/(\s*)/g, "");
+
+    // 执行初始化
+    requestInterface(param);
+  }
+
+  $("#initBtn").click(function () {
+    initBtnClicked();
+  })
+
+  // $('#initBtn').trigger("click");
+
+  $("#playBtn").click(function () {
+    var param = $("#playParam").val();
+    //删除字符串中的回车换行
+    param = param.replace(/(\s*)/g, "");
+
+    console.log(param, 232323)
+
+    // 执行预览
+    requestInterface(param);
+  })
+
+  // 清空
+  $("#clear").click(function () {
+    $("#cbInfo").html('');
+  })
+
+  // 格式化时间
+  function dateFormat(oDate, fmt) {
+    var o = {
+      "M+": oDate.getMonth() + 1, //月份
+      "d+": oDate.getDate(), //日
+      "h+": oDate.getHours(), //小时
+      "m+": oDate.getMinutes(), //分
+      "s+": oDate.getSeconds(), //秒
+      "q+": Math.floor((oDate.getMonth() + 3) / 3), //季度
+      "S": oDate.getMilliseconds() //毫秒
+    };
+    if (/(y+)/.test(fmt)) {
+      fmt = fmt.replace(RegExp.$1, (oDate.getFullYear() + "").substr(4 - RegExp.$1.length));
+    }
+    for (var k in o) {
+      if (new RegExp("(" + k + ")").test(fmt)) {
+        fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k])
+          .length)));
+      }
+    }
+    return fmt;
+  }
+</script>
+
+</html>
diff --git a/public/carVideo/parent.html b/public/carVideo/parent.html
index 4283c32..ccfe324 100644
--- a/public/carVideo/parent.html
+++ b/public/carVideo/parent.html
@@ -2,31 +2,30 @@
 <html>
 
 <head>
-    <title>Window Demo</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <meta http-equiv="Pragma" content="no-cache" />
-    <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
-    <meta http-equiv="Expires" content="0" />
+  <title>Window Demo</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <meta http-equiv="Pragma" content="no-cache" />
+  <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
+  <meta http-equiv="Expires" content="0" />
 </head>
 <style>
-    html,
-    body {
-        padding: 0;
-        margin: 0;
-        width: 100%;
-        height: 100%;
-    }
+  html,
+  body {
+    padding: 0;
+    margin: 0;
+    width: 100%;
+    height: 100%;
+  }
 
-    .iframe {
-        width: 100%;
-        height: 100%;
-    }
+  .iframe {
+    width: 100%;
+    height: 100%;
+  }
 </style>
 
 <body>
-    <!-- 步骤1:src指定待嵌入的子页面,scrolling指定no禁用滚动条 -->
-    <iframe id="iframe1" class="iframe" src="children.html" scrolling="no"
-        frameborder="0"></iframe>
+  <!-- 步骤1:src指定待嵌入的子页面,scrolling指定no禁用滚动条 -->
+  <iframe id="iframe1" class="iframe" src="children.html" scrolling="no" frameborder="0"></iframe>
 </body>
 <script src="jquery-1.12.4.min.js"></script>
 <script src="jsencrypt.min.js"></script>
@@ -34,151 +33,159 @@
 <!-- <script src="JsonToXml.js"></script>
 <script src="jsWebControl-Bridge.js"></script> -->
 <script type="text/javascript">
-    // 步骤2:嵌入子页面的页面中在iframe的onload事件中向子页面抛以下消息
-    var iframeWin = document.getElementById("iframe1"); {
-        iframeWin.onload = function () {
-            iframeWin.contentWindow.postMessage({
-                action: 'sendTitle', // 告诉子页面本页面的标题(action自行指定,但需要与子页面中监听的action保持一致
-                msg: '将标题发给子页面',
-                info: document.title
-            }, '\*');
-            iframeWin.contentWindow.postMessage({
-                action: 'updateInitParam', // 告诉子页面一些初始值,包括浏览器视窗高度与宽度、iframe偏离文档的位置、iframe相对视窗的位置
-                msg: '更新子页面一些初始值',
-                showSize: { // 浏览器视窗高度与宽度
-                    width: 800,
-                    height: 400
-                },
-                iframeOffset: { // iframe偏离文档的位置
-                    left: iframeWin.offsetLeft,
-                    top: iframeWin.offsetTop
-                },
-                iframeClientPos: { // iframe相对视窗的位置
-                    left: iframeWin.getBoundingClientRect().left,
-                    right: iframeWin.getBoundingClientRect().right,
-                    top: iframeWin.getBoundingClientRect().top,
-                    bottom: iframeWin.getBoundingClientRect().bottom
-                }
-            }, '\*'); // '\*'表示跨域参数,请结合自身业务合理设置
+  // 步骤2:嵌入子页面的页面中在iframe的onload事件中向子页面抛以下消息
+  var iframeWin = document.getElementById("iframe1"); {
+    iframeWin.onload = function () {
+      iframeWin.contentWindow.postMessage({
+        action: 'sendTitle', // 告诉子页面本页面的标题(action自行指定,但需要与子页面中监听的action保持一致
+        msg: '将标题发给子页面',
+        info: document.title
+      }, '\*');
+      iframeWin.contentWindow.postMessage({
+        action: 'updateInitParam', // 告诉子页面一些初始值,包括浏览器视窗高度与宽度、iframe偏离文档的位置、iframe相对视窗的位置
+        msg: '更新子页面一些初始值',
+        showSize: { // 浏览器视窗高度与宽度
+          width: 800,
+          height: 400
+        },
+        iframeOffset: { // iframe偏离文档的位置
+          left: iframeWin.offsetLeft,
+          top: iframeWin.offsetTop
+        },
+        iframeClientPos: { // iframe相对视窗的位置
+          left: iframeWin.getBoundingClientRect().left,
+          right: iframeWin.getBoundingClientRect().right,
+          top: iframeWin.getBoundingClientRect().top,
+          bottom: iframeWin.getBoundingClientRect().bottom
         }
+      }, '\*'); // '\*'表示跨域参数,请结合自身业务合理设置
     }
+  }
 
-    // 步骤3:监听嵌入子页面的事件
-    window.addEventListener('message', function (e) {
-        console.log(e.data.msg);
-        if (e && e.data) {
-            switch (e.data.action) {
-                case 'updateTitle': // 本页面收到子页面通知更新标题通知,更新本页面标题
-                    document.title = e.data.info;
-                    break;
-                case 'updatePos':
-                    var scrollLeftValue = document.documentElement.scrollLeft;
-                    var scrollTopValue = document.documentElement.scrollTop;
-                    iframeWin.contentWindow.postMessage({
-                        action: 'updatePos',
-                        msg: '更新Pos',
-                        scrollValue: { // 滚动条滚动的偏移量
-                            left: -1 * scrollLeftValue,
-                            top: -1 * scrollTopValue,
-                        }
-                    }, '\*'); // '\*'表示跨域参数,请结合自身业务合理设置
-                    break;
-                default:
-                    break;
-            }
-        }
-    });
-
-    // 步骤4:兼听本页面的resize事件,并将一些状态值发送给嵌入的子页面
-    var resizeTimer = null;
-    var resizeDate;
-    $(window).resize(function () {
-        resizeDate = new Date();
-        if (resizeTimer === null) {
-            resizeTimer = setTimeout(checkResizeEndTimer, 100);
-        }
-    });
-
-    function checkResizeEndTimer() {
-        if (new Date() - resizeDate > 100) { // resize结束后再发消息,避免残影问题
-            clearTimeout(resizeTimer);
-            resizeTimer = null;
-            postResizeEvent();
-        } else {
-            setTimeout(checkResizeEndTimer, 100);
-        }
-    }
-
-    function postResizeEvent() {
-        iframeWin.contentWindow.postMessage({
-            action: 'resize',
-            msg: 'resize事件',
-            showSize: { // 告诉嵌入的子页面视窗高度与宽度
-                width: $(window).width(),
-                height: $(window).height()
-            },
-            iframeClientPos: { // iframe相对视窗的位置
-                left: iframeWin.getBoundingClientRect().left,
-                right: iframeWin.getBoundingClientRect().right,
-                top: iframeWin.getBoundingClientRect().top,
-                bottom: iframeWin.getBoundingClientRect().bottom
-            },
-            iframeOffset: { // iframe偏离文档的位置
-                left: iframeWin.offsetLeft,
-                top: iframeWin.offsetTop
-            }
-        }, '\*'); // '\*'表示跨域参数,请结合自身业务合理设置
-    }
-
-    // 步骤5:兼听本页面的scroll事件,并将一些状态值发送给嵌入的子页面
-    // 为性能考虑,可以在定时器中处理
-    var scrollTimer = null;
-    var scrollDate;
-    $(window).scroll(function (event) {
-        postScrollEvent();
-        scrollDate = new Date();
-        if (scrollTimer === null) {
-            scrollTimer = setTimeout(checkScrollEndTimer, 100);
-        }
-    });
-
-    function checkScrollEndTimer() {
-        if (new Date() - scrollDate > 100) { // resize结束后再发消息,避免残影问题
-            clearTimeout(scrollTimer);
-            scrollTimer = null;
-        } else {
-            postScrollEvent();
-            setTimeout(checkScrollEndTimer, 100);
-        }
-    }
-
-    function postScrollEvent() {
-        // 计算滚动条偏移量
-        var scrollLeftValue = document.documentElement.scrollLeft;
-        var scrollTopValue = document.documentElement.scrollTop;
-        iframeWin.contentWindow.postMessage({
-            action: 'scroll',
-            msg: 'scroll事件',
+  // 步骤3:监听嵌入子页面的事件
+  window.addEventListener('message', function (e) {
+    console.log(e.data.msg);
+    if (e && e.data) {
+      switch (e.data.action) {
+        case 'updateTitle': // 本页面收到子页面通知更新标题通知,更新本页面标题
+          document.title = e.data.info;
+          break;
+        case 'updatePos':
+          var scrollLeftValue = document.documentElement.scrollLeft;
+          var scrollTopValue = document.documentElement.scrollTop;
+          iframeWin.contentWindow.postMessage({
+            action: 'updatePos',
+            msg: '更新Pos',
             scrollValue: { // 滚动条滚动的偏移量
-                left: -1 * scrollLeftValue,
-                top: -1 * scrollTopValue,
-            },
-            iframeClientPos: { // iframe相对视窗的位置
-                left: iframeWin.getBoundingClientRect().left,
-                right: iframeWin.getBoundingClientRect().right,
-                top: iframeWin.getBoundingClientRect().top,
-                bottom: iframeWin.getBoundingClientRect().bottom
-            },
-            showSize: { // 告诉嵌入的子页面视窗高度与宽度
-                width: $(window).width(), // 视窗宽度
-                height: $(window).height() // 视窗高度
-            },
-            iframeOffset: { // iframe偏离文档的位置
-                left: iframeWin.offsetLeft,
-                top: iframeWin.offsetTop
+              left: -1 * scrollLeftValue,
+              top: -1 * scrollTopValue,
             }
-        }, '\*'); // '\*'表示跨域参数,请结合自身业务合理设置
+          }, '\*'); // '\*'表示跨域参数,请结合自身业务合理设置
+          break;
+        default:
+          break;
+      }
     }
+  });
+
+  // 步骤4:兼听本页面的resize事件,并将一些状态值发送给嵌入的子页面
+  var resizeTimer = null;
+  var resizeDate;
+  $(window).resize(function () {
+    resizeDate = new Date();
+    if (resizeTimer === null) {
+      resizeTimer = setTimeout(checkResizeEndTimer, 100);
+    }
+  });
+
+  function closeVideo() {
+    document.getElementById('iframe1').contentWindow.close()
+  }
+
+  function startVideo() {
+    document.getElementById('iframe1').contentWindow.initPlugin()
+  }
+
+  function checkResizeEndTimer() {
+    if (new Date() - resizeDate > 100) { // resize结束后再发消息,避免残影问题
+      clearTimeout(resizeTimer);
+      resizeTimer = null;
+      postResizeEvent();
+    } else {
+      setTimeout(checkResizeEndTimer, 100);
+    }
+  }
+
+  function postResizeEvent() {
+    iframeWin.contentWindow.postMessage({
+      action: 'resize',
+      msg: 'resize事件',
+      showSize: { // 告诉嵌入的子页面视窗高度与宽度
+        width: $(window).width(),
+        height: $(window).height()
+      },
+      iframeClientPos: { // iframe相对视窗的位置
+        left: iframeWin.getBoundingClientRect().left,
+        right: iframeWin.getBoundingClientRect().right,
+        top: iframeWin.getBoundingClientRect().top,
+        bottom: iframeWin.getBoundingClientRect().bottom
+      },
+      iframeOffset: { // iframe偏离文档的位置
+        left: iframeWin.offsetLeft,
+        top: iframeWin.offsetTop
+      }
+    }, '\*'); // '\*'表示跨域参数,请结合自身业务合理设置
+  }
+
+  // 步骤5:兼听本页面的scroll事件,并将一些状态值发送给嵌入的子页面
+  // 为性能考虑,可以在定时器中处理
+  var scrollTimer = null;
+  var scrollDate;
+  $(window).scroll(function (event) {
+    postScrollEvent();
+    scrollDate = new Date();
+    if (scrollTimer === null) {
+      scrollTimer = setTimeout(checkScrollEndTimer, 100);
+    }
+  });
+
+  function checkScrollEndTimer() {
+    if (new Date() - scrollDate > 100) { // resize结束后再发消息,避免残影问题
+      clearTimeout(scrollTimer);
+      scrollTimer = null;
+    } else {
+      postScrollEvent();
+      setTimeout(checkScrollEndTimer, 100);
+    }
+  }
+
+  function postScrollEvent() {
+    // 计算滚动条偏移量
+    var scrollLeftValue = document.documentElement.scrollLeft;
+    var scrollTopValue = document.documentElement.scrollTop;
+    iframeWin.contentWindow.postMessage({
+      action: 'scroll',
+      msg: 'scroll事件',
+      scrollValue: { // 滚动条滚动的偏移量
+        left: -1 * scrollLeftValue,
+        top: -1 * scrollTopValue,
+      },
+      iframeClientPos: { // iframe相对视窗的位置
+        left: iframeWin.getBoundingClientRect().left,
+        right: iframeWin.getBoundingClientRect().right,
+        top: iframeWin.getBoundingClientRect().top,
+        bottom: iframeWin.getBoundingClientRect().bottom
+      },
+      showSize: { // 告诉嵌入的子页面视窗高度与宽度
+        width: $(window).width(), // 视窗宽度
+        height: $(window).height() // 视窗高度
+      },
+      iframeOffset: { // iframe偏离文档的位置
+        left: iframeWin.offsetLeft,
+        top: iframeWin.offsetTop
+      }
+    }, '\*'); // '\*'表示跨域参数,请结合自身业务合理设置
+  }
 </script>
 
 </html>
diff --git a/src/components/map/main.vue b/src/components/map/main.vue
index ddca33a..2e69e7e 100644
--- a/src/components/map/main.vue
+++ b/src/components/map/main.vue
@@ -125,6 +125,12 @@
         //     })
         // })
 
+
+
+
+
+
+
         var projection = getProjection("EPSG:4326");
         var projectionExtent = projection.getExtent();
         var size = getWidth(projectionExtent) / 256;
@@ -174,6 +180,12 @@
 
             })
         })
+
+
+
+
+
+
 
         this.parentParameter();
 
@@ -327,7 +339,7 @@
         },
 
         parentParameter () {
-          this.$emit('childParameter', this.ol2d)
+            this.$emit('childParameter', this.ol2d)
         }
     }
 }
diff --git a/src/views/home/index.scss b/src/views/home/index.scss
index ee94929..b3f7c47 100644
--- a/src/views/home/index.scss
+++ b/src/views/home/index.scss
@@ -1,8 +1,6 @@
 .bajgxt-home {
   height: 100%;
   width: 100%;
-  // width: 1920px;
-  // height: 1080px;
   background: url("../../../public/img/bajgxt/backimg.png") no-repeat;
   background-size: 100% 100%;
 
@@ -20,16 +18,6 @@
       text-align: center;
       line-height: 77px;
     }
-    // span:nth-child(2) {
-    //   position: absolute;
-    //   margin-top: 22px;
-    //   margin-left: 26%;
-    //   font-size: 22px;
-    //   cursor: pointer;
-    //   &:hover {
-    //     color: #90cef0;
-    //   }
-    // }
     img {
       position: absolute;
       margin-top: 22px;
@@ -47,20 +35,15 @@
       color: #90cef0;
     }
   }
-  .side {
-    width: 27%;
-    height: 100%;
-  }
   .content {
     margin: 5px 20px 20px 20px;
-    // height: calc(100% - 77px);
-    // width: 100%;
     height: calc(100% - 102px);
     width: calc(100% - 40px);
     display: flex;
     .left,
     .right {
-      @extend .side;
+      width: 27%;
+      height: 100%;
     }
     .middle {
       width: calc(46% - 50px);
@@ -75,7 +58,7 @@
     width: 100%;
     height: 260px;
   }
-  .echartClass {
+  .echartClass_1920 {
     // height: 100%;
     width: 100%;
     height: calc(100% - 70px);
@@ -88,7 +71,7 @@
       background-size: 100% 100%;
       position: relative;
       #left1Echart {
-        @extend .echartClass;
+        @extend .echartClass_1920;
         height: calc(100% - 140px) !important;
         margin-top: 68px;
       }
@@ -101,7 +84,7 @@
       margin-top: 25px;
       position: relative;
       #left2Echart {
-        @extend .echartClass;
+        @extend .echartClass_1920;
       }
     }
   }
@@ -113,7 +96,7 @@
       height: 28%;
       position: relative;
       #right1Echart {
-        @extend .echartClass;
+        @extend .echartClass_1920;
       }
     }
     .right2 {
@@ -124,7 +107,7 @@
       margin-top: 30px;
       position: relative;
       #right2Echart {
-        @extend .echartClass;
+        @extend .echartClass_1920;
       }
     }
     .right3 {
@@ -134,7 +117,7 @@
       background-size: 100% 100%;
       margin-top: 25px;
       #right3Echart {
-        @extend .echartClass;
+        @extend .echartClass_1920;
       }
     }
   }
@@ -424,7 +407,7 @@
   }
   /deep/ .el-table__body-wrapper {
     overflow: auto;
-    height: 100%;
+    height: calc(100% - 50px);
   }
 }
 .left2-btn {
@@ -628,10 +611,11 @@
   right: 47px;
   margin-top: 76px;
   .block1 {
-    width: 30px;
-    height: 15px;
+    width: 10px;
+    height: 10px;
     background: #008dec;
-    margin-top: 7px;
+    margin-top: 10px;
+    border-radius: 100%;
   }
   span:nth-child(2) {
     color: #fff;
@@ -650,10 +634,11 @@
   right: 47px;
   margin-top: 135px;
   .block1 {
-    width: 30px;
-    height: 15px;
+    width: 10px;
+    height: 10px;
     background: #886eff;
-    margin-top: 7px;
+    margin-top: 10px;
+    border-radius: 100%;
   }
   span:nth-child(2) {
     color: #fff;
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index bc6c395..ceec846 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -699,7 +699,7 @@
   selectJy,
   selectWg,
   punishList,
-  lazyTrees,
+  lazyTrees
 } from "../../api/index/index";
 
 import car from "@/assets/img/car.png";
@@ -728,7 +728,7 @@
         materialNum: 0,
         punishNum: 0,
         wgNum: 0,
-        ymwsNum: 0,
+        ymwsNum: 0
       },
       carNum: 0,
       peoNum: 0,
@@ -738,7 +738,7 @@
         left1Echart: null,
         left2Echart: null,
         mapEchart: null,
-        right3Echart: null,
+        right3Echart: null
       },
       left1loading: true,
       left2loading: true,
@@ -755,7 +755,7 @@
         wz: 0,
         kqy: 0,
         nan: 0,
-        nv: 0,
+        nv: 0
       },
       left2EchartType: 0,
       poorPerformanceType: 3,
@@ -765,29 +765,29 @@
         total: 0,
         current: 1,
         type: "zg",
-        title: "资格异常人员清单",
+        title: "资格异常人员清单"
       },
       dialogTable: {
         wgTable: [],
         jyTable: [],
-        ymTable: [],
+        ymTable: []
       },
       props: {
         children: "children",
         label: "title",
-        value: "id",
+        value: "id"
       },
       node1: {}, //选中的记录
-      node2: {},
+      node2: {}
     };
   },
   computed: {
     text() {
       return {
         id: this.number,
-        val: this.textArr[this.number],
+        val: this.textArr[this.number]
       };
-    },
+    }
   },
   methods: {
     //点击节点
@@ -841,7 +841,7 @@
 
     // 左侧表的接口返回数据
     initEchart() {
-      securityTotal().then((res) => {
+      securityTotal().then(res => {
         if (res.data.code == 200) {
           let securityData = res.data.data;
           if (!this.echarts.left1Echart) {
@@ -855,10 +855,10 @@
         }
         this.left1loading = false;
       });
-      seCountI({ jurisdiction: "", deptid: "" }).then((res) => {
+      seCountI({ jurisdiction: "", deptid: "" }).then(res => {
         if (res.data.code == 200) {
           let data = res.data.data;
-          data.forEach((item) => {
+          data.forEach(item => {
             if (item.stats === "0") {
               this.leftData.zz = item.num;
             }
@@ -879,7 +879,8 @@
           this.$message.error(res.msg);
         }
       });
-      selectFj().then((res) => {
+      selectFj().then(res => {
+        debugger;
         if (res.data.code === 200) {
           if (!this.echarts.right3Echart) {
             this.echarts.right3Echart = echarts.init(
@@ -903,7 +904,7 @@
         this.echarts.left2Echart.clear();
       }
       if (type === 0) {
-        holderNum().then((res) => {
+        holderNum().then(res => {
           if (res.data.code === 200) {
             let data = res.data.data;
             this.echarts.left2Echart = echarts.init(
@@ -916,7 +917,7 @@
           this.left2loading = false;
         });
       } else {
-        seCountUg({ jurisdiction: "", deptid: "" }).then((res) => {
+        seCountUg({ jurisdiction: "", deptid: "" }).then(res => {
           if (res.data.code === 200) {
             this.echarts.left2Echart = echarts.init(
               document.getElementById("left2Echart")
@@ -950,7 +951,7 @@
       this.middleloading = false;
       this.textArr = [];
       if (type === 2) {
-        this.tableData.forEach((item) => {
+        this.tableData.forEach(item => {
           let obj =
             "押运车辆车牌号" +
             item.carNum +
@@ -965,7 +966,7 @@
           this.textArr.push(obj);
         });
       } else if (type === 1) {
-        this.tableData.forEach((item) => {
+        this.tableData.forEach(item => {
           let obj =
             "押运人员" +
             item.name +
@@ -978,7 +979,7 @@
           this.textArr.push(obj);
         });
       } else if (type === 3) {
-        this.tableData.forEach((item) => {
+        this.tableData.forEach(item => {
           let obj =
             "枪支编号" +
             item.number +
@@ -999,21 +1000,21 @@
       let middleData = {
         1: {
           table: [],
-          geoData: [],
+          geoData: []
         },
         2: {
           table: [],
-          geoData: [],
+          geoData: []
         },
         3: {
           table: [],
-          geoData: [],
-        },
+          geoData: []
+        }
       };
-      getLiveLocationVoList({ type: type }).then((res) => {
+      getLiveLocationVoList({ type: type }).then(res => {
         if (res.data.code === 200) {
           let allData = res.data.data;
-          allData.forEach((m) => {
+          allData.forEach(m => {
             let obj = {
               location: m.location,
               name: m.name,
@@ -1021,7 +1022,7 @@
               linkman: m.linkman,
               company: m.company,
               tel: m.tel,
-              carNum: m.carNum,
+              carNum: m.carNum
             };
 
             // let geoObj = {
@@ -1030,7 +1031,7 @@
             // };
             middleData[m.type]["geoData"].push([
               Number(m.longitude),
-              Number(m.latitude),
+              Number(m.latitude)
             ]);
             middleData[m.type]["table"].push(obj);
           });
@@ -1056,36 +1057,38 @@
             zIndex: 4,
             title: "影像",
             source: new XYZ({
-              url: "http://t3.tianditu.com/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0", // 行政区划
-            }),
+              url:
+                "http://t3.tianditu.com/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0" // 行政区划
+            })
           }),
           new Tile({
             zIndex: 5,
             title: "道路+中文注记",
             source: new XYZ({
-              url: "http://t3.tianditu.com/DataServer?T=cta_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0", // 注记
-            }),
-          }),
+              url:
+                "http://t3.tianditu.com/DataServer?T=cta_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0" // 注记
+            })
+          })
         ],
         view: new View({
           projection: "EPSG:4326",
           center: [115.892151, 28.676493],
-          zoom: 10,
-        }),
+          zoom: 10
+        })
       });
       this.carVectorLayer = new VectorLayer({
         zIndex: 99,
-        source: new VectorSource(),
+        source: new VectorSource()
       });
 
       this.peoVectorLayer = new VectorLayer({
         zIndex: 99,
-        source: new VectorSource(),
+        source: new VectorSource()
       });
 
       this.gunVectorLayer = new VectorLayer({
         zIndex: 99,
-        source: new VectorSource(),
+        source: new VectorSource()
       });
       this.map.addLayer(this.carVectorLayer);
       this.map.addLayer(this.peoVectorLayer);
@@ -1095,7 +1098,7 @@
     },
     // 获取辖区列表
     getOfficeData() {
-      lazyTrees().then((res) => {
+      lazyTrees().then(res => {
         if (res.data.code === 200) {
           this.options1 = res.data.data;
           this.options2 = res.data.data;
@@ -1137,7 +1140,7 @@
       }
     },
     getWgTable() {
-      this.dialogTable.wgTable.forEach((item) => {
+      this.dialogTable.wgTable.forEach(item => {
         let czl = 0;
         if (Number(item.cznum) !== 0 && Number(item.znum) !== 0) {
           czl =
@@ -1155,7 +1158,7 @@
       this.gridData.total = this.dialogTable.wgTable.length;
     },
     getJyTable() {
-      this.dialogTable.jyTable.forEach((item) => {
+      this.dialogTable.jyTable.forEach(item => {
         let pql = 0;
         if (Number(item.painum) !== 0 && Number(item.znum) !== 0) {
           pql =
@@ -1183,9 +1186,9 @@
       let params = {
         current: this.gridData.current,
         size: 10,
-        jurisdiction: this.value2,
+        jurisdiction: this.value2
       };
-      punishList(params).then((res) => {
+      punishList(params).then(res => {
         if (res.data.code === 200) {
           this.gridData.data = res.data.data.records;
           this.gridData.total = res.data.data.total;
@@ -1223,9 +1226,9 @@
         current: this.gridData.current,
         size: 10,
         examinationType: 1,
-        jurisdiction: this.value1,
+        jurisdiction: this.value1
       };
-      qualificationPages(params).then((res) => {
+      qualificationPages(params).then(res => {
         if (res.data.code === 200) {
           this.gridData.data = res.data.data.records;
           this.gridData.total = res.data.data.total;
@@ -1246,9 +1249,9 @@
       let params = {
         current: this.gridData.current,
         size: 10,
-        jurisdiction: this.value2,
+        jurisdiction: this.value2
       };
-      punishList(params).then((res) => {
+      punishList(params).then(res => {
         if (res.data.code === 200) {
           this.gridData.data = res.data.data.records;
           this.gridData.total = res.data.data.total;
@@ -1259,7 +1262,7 @@
     },
     // 经营不善
     getMaterial() {
-      selectJy({ jurisdiction: this.value2 }).then((res) => {
+      selectJy({ jurisdiction: this.value2 }).then(res => {
         if (res.data.code === 200) {
           this.rightData.materialNum = res.data.data.count;
           this.dialogTable.jyTable = res.data.data.List;
@@ -1271,7 +1274,7 @@
     },
     // 有名无实
     getselectYs() {
-      selectYs({ jurisdiction: this.value2 }).then((res) => {
+      selectYs({ jurisdiction: this.value2 }).then(res => {
         if (res.data.code === 200) {
           this.rightData.ymwsNum = res.data.data.count;
           this.dialogTable.ymTable = res.data.data.List;
@@ -1283,7 +1286,7 @@
     },
     // 违规经营
     getselectWg() {
-      selectWg({ jurisdiction: this.value2 }).then((res) => {
+      selectWg({ jurisdiction: this.value2 }).then(res => {
         if (res.data.code === 200) {
           this.rightData.wgNum = res.data.data.count;
           this.dialogTable.wgTable = res.data.data.list;
@@ -1313,8 +1316,8 @@
       // this.rightData.qualification = 45;
       selectBx({
         jurisdiction: this.value1,
-        type: this.poorPerformanceType,
-      }).then((res) => {
+        type: this.poorPerformanceType
+      }).then(res => {
         if (res.data.code === 200) {
           this.rightData.poorPerformance = res.data.data[0].count;
         } else {
@@ -1324,8 +1327,8 @@
       });
       selectExtype({
         jurisdiction: this.value1,
-        type: this.poorPerformanceType,
-      }).then((res) => {
+        type: this.poorPerformanceType
+      }).then(res => {
         if (res.data.code === 200) {
           this.rightData.qualification = res.data.data[0].count;
         } else {
@@ -1364,7 +1367,7 @@
       // this.$router.push({ path: "/register/index" });
       // this.$router.push({ path: "/securityGuardManagement/register" });
       this.$router.push({ path: website.fistPage.value });
-    },
+    }
   },
   mounted() {
     this.initEchart();
@@ -1375,12 +1378,25 @@
     this.getTableData(0);
     // this.initMapEchart();
     this.getOfficeData();
-  },
+  }
 };
 </script>
 
 <style lang="scss" scoped>
-@import "./index.scss";
+// 适配分辨率1280*1024
+@media screen and (max-width: 1280px) {
+  @import "./index_1280_1024.scss";
+}
+// 适配分辨率1600*900
+@media screen and (min-width: 1281px) and (max-width: 1600px) {
+  @import "./index_1600_900.scss";
+}
+// 适配分辨率1920*1080
+@media screen and (min-width: 1601px) and (max-width: 1920px) {
+  @import "./index.scss";
+}
+
+// @import "./index.scss";
 /deep/ .el-select-dropdown {
   border: 1px solid #9199ab;
   background-color: #022c53;
diff --git a/src/views/home/index_1280_1024.scss b/src/views/home/index_1280_1024.scss
new file mode 100644
index 0000000..85157b8
--- /dev/null
+++ b/src/views/home/index_1280_1024.scss
@@ -0,0 +1,699 @@
+.bajgxt-home {
+  height: 100%;
+  width: 100%;
+  background: url("../../../public/img/bajgxt/backimg.png") no-repeat;
+  background-size: 100% 100%;
+
+  .head-title {
+    background: url("../../../public/img/bajgxt/title2.png") no-repeat;
+    background-size: 100% 100%;
+    width: 100%;
+    height: 77px;
+    text-align: center;
+    // position: relative;
+    span {
+      font-family: "Arial Normal", "Arial", sans-serif;
+      font-size: 36px;
+      color: #ffffff;
+      text-align: center;
+      line-height: 77px;
+    }
+    img {
+      position: absolute;
+      margin-top: 22px;
+      margin-left: 29%;
+    }
+  }
+  .sub-title {
+    float: right;
+    color: #fff;
+    margin-right: 52px;
+    font-size: 18px;
+    margin-top: -35px;
+    cursor: pointer;
+    &:hover {
+      color: #90cef0;
+    }
+  }
+  .content {
+    margin: 5px 20px 20px 20px;
+    height: calc(100% - 102px);
+    width: calc(100% - 40px);
+    display: flex;
+    .left,
+    .right {
+      width: 27%;
+      height: 100%;
+    }
+    .middle {
+      width: calc(46% - 50px);
+      height: 100%;
+      margin: 0px 25px;
+      position: relative;
+    }
+  }
+  .leftimg {
+    background: url("../../../public/img/bajgxt/left1.png") no-repeat;
+    background-size: contain;
+    width: 100%;
+    height: 260px;
+  }
+  .echartClass_1280 {
+    // height: 100%;
+    width: 100%;
+    height: calc(100% - 70px);
+  }
+  .left {
+    .left1 {
+      background: url("../../../public/img/bajgxt/left1.png") no-repeat;
+      height: 60%;
+      width: 100%;
+      background-size: 100% 100%;
+      position: relative;
+      #left1Echart {
+        @extend .echartClass_1280;
+        height: calc(100% - 140px) !important;
+        margin-top: 68px;
+      }
+    }
+    .left2 {
+      background: url("../../../public/img/bajgxt/rightImg.png") no-repeat;
+      height: calc(40% - 25px);
+      width: 100%;
+      background-size: 100% 100%;
+      margin-top: 25px;
+      position: relative;
+      #left2Echart {
+        @extend .echartClass_1280;
+      }
+    }
+  }
+  .right {
+    .right1 {
+      background: url("../../../public/img/bajgxt/rightImg.png") no-repeat;
+      background-size: 100% 100%;
+      width: 100%;
+      height: 28%;
+      position: relative;
+      #right1Echart {
+        @extend .echartClass_1280;
+      }
+    }
+    .right2 {
+      background: url("../../../public/img/bajgxt/rightImg.png") no-repeat;
+      background-size: 100% 100%;
+      width: 100%;
+      height: 28%;
+      margin-top: 30px;
+      position: relative;
+      #right2Echart {
+        @extend .echartClass_1280;
+      }
+    }
+    .right3 {
+      background: url("../../../public/img/bajgxt/rightImg.png") no-repeat;
+      height: calc(40% - 25px);
+      width: 100%;
+      background-size: 100% 100%;
+      margin-top: 25px;
+      #right3Echart {
+        @extend .echartClass_1280;
+      }
+    }
+  }
+  .title-pane {
+    display: inline-flex;
+    height: 55px;
+    img {
+      width: 25px;
+      height: 25px;
+      margin: 19px 10px 0px 10px;
+    }
+    span {
+      line-height: 68px;
+      color: #fff;
+      font-size: 17px;
+    }
+  }
+  .title-pane1 {
+    display: inline-flex;
+    height: 41px;
+    img {
+      width: 25px;
+      height: 25px;
+      margin: 8.5px 10px 0px 10px;
+    }
+    span {
+      line-height: 46px;
+      color: #fff;
+      font-size: 17px;
+    }
+  }
+  .title-pane2 {
+    display: inline-flex;
+    height: 53px;
+    img {
+      width: 25px;
+      height: 25px;
+      margin: 13.5px 10px 0px 10px;
+    }
+    span {
+      line-height: 59px;
+      color: #fff;
+      font-size: 17px;
+    }
+  }
+
+  .middle {
+    .mapimg {
+      background: url("../../../public/img/bajgxt/u3.png") no-repeat;
+      background-size: 100% 100%;
+      height: 60%;
+      width: 100%;
+      #map {
+        width: calc(100% - 40px);
+        height: calc(100% - 40px);
+        margin: 0px 20px;
+        top: 20px;
+        position: relative;
+      }
+    }
+
+    .table {
+      margin-top: 25px;
+      height: calc(40% - 25px);
+      width: 100%;
+      background: url("../../../public/img/bajgxt/table.png") no-repeat;
+      background-size: 100% 100%;
+      position: relative;
+      .table-title {
+        background: url("../../../public/img/bajgxt/tabletitle.png") no-repeat;
+        background-size: 100% 100%;
+        position: absolute;
+        width: 267px;
+        margin-top: -13px;
+        height: 50px;
+        margin-left: calc(50% - 135.5px);
+        color: #fff;
+        font-size: 20px;
+        text-align: center;
+        line-height: 54px;
+      }
+      .lefttop {
+        background: url("../../../public/img/bajgxt/lefttop.png") no-repeat;
+        background-size: 100% 100%;
+        width: 44px;
+        height: 56px;
+        position: absolute;
+        left: -7px;
+        top: -9px;
+      }
+      .leftbottom {
+        background: url("../../../public/img/bajgxt/leftbottom.png") no-repeat;
+        background-size: 100% 100%;
+        width: 44px;
+        height: 56px;
+        position: absolute;
+        left: -7px;
+        bottom: -7px;
+      }
+      .righttop {
+        background: url("../../../public/img/bajgxt/righttop.png") no-repeat;
+        background-size: 100% 100%;
+        width: 44px;
+        height: 56px;
+        position: absolute;
+        left: calc(100% - 37px);
+        top: -9px;
+      }
+      .rightbottom {
+        background: url("../../../public/img/bajgxt/rightbottom.png") no-repeat;
+        background-size: 100% 100%;
+        width: 44px;
+        height: 56px;
+        position: absolute;
+        left: calc(100% - 37px);
+        bottom: -7px;
+      }
+    }
+  }
+  .middle {
+    .el-table {
+      width: calc(100% - 40px);
+      height: calc(100% - 65px);
+      margin: 0px 20px 15px;
+      top: 50px;
+    }
+    /deep/ .el-table--striped .el-table__body tr.el-table__row--striped td {
+      background: #031d4b !important;
+    }
+    /deep/ .el-table--enable-row-transition .el-table__body td,
+    /deep/ .el-table th,
+    .el-table tr {
+      background: #03225b !important;
+    }
+    /deep/ .el-table .cell {
+      color: #fff;
+      text-align: center;
+    }
+    /deep/ .el-table td,
+    .el-table th.is-leaf {
+      border-bottom-color: transparent;
+    }
+    /deep/ .el-table__header th {
+      border-bottom: 1px solid #031a38 !important;
+    }
+    /deep/.el-table--enable-row-hover .el-table__body tr:hover > td {
+      background-color: #b0caf3;
+    }
+  }
+
+  /deep/ .el-input__inner {
+    height: 27px;
+    color: #fff !important;
+    font-size: 14px;
+    background-color: transparent !important;
+    border-color: transparent !important;
+    border-radius: 2px;
+  }
+  /deep/ .el-input {
+    width: 138px;
+  }
+  /deep/ .el-select {
+    line-height: 52px;
+    position: absolute;
+    right: 14px;
+  }
+  /deep/ .el-input__icon {
+    line-height: 53px;
+  }
+  /deep/ .el-select:hover .el-input__inner,
+  /deep/ .el-select .el-input.is-focus .el-input__inner {
+    border: none;
+  }
+  /deep/ .el-table,
+  /deep/ .el-table__expanded-cell,
+  /deep/ .el-table--border::after,
+  /deep/ .el-table--group::after,
+  /deep/ .el-table::before {
+    background-color: transparent !important;
+  }
+  .card-text {
+    height: 30px;
+    padding: 8px 10px;
+    color: #fff;
+    font-size: 14px;
+    text-align: center;
+    span:nth-child(2) {
+      color: red;
+      font-size: 21px;
+      margin: 0px 10px;
+      font-weight: bold;
+    }
+    span:nth-child(4) {
+      margin-left: 15px;
+    }
+    span:nth-child(5) {
+      margin: 0px 10px;
+      color: red;
+      font-size: 20px;
+    }
+  }
+  .right-content {
+    height: calc(100% - 71px);
+    width: calc(100% - 30px);
+    padding: 15px;
+  }
+  .card-list {
+    margin-top: 10px !important;
+    margin: 10px 60px 15px 5px;
+    display: flex;
+    height: 50px;
+    line-height: 50px;
+    img:first-child {
+      height: 50px;
+      z-index: 22;
+    }
+    img:nth-child(2) {
+      position: absolute;
+      margin-left: 13px;
+      width: 30px;
+      height: 30px;
+      margin-top: 10px;
+      z-index: 22;
+    }
+    img:nth-child(3) {
+      margin-left: -20px;
+      height: 50px;
+    }
+    span:nth-child(4) {
+      color: red;
+      font-size: 26px;
+      display: block;
+      width: 71px;
+      margin-left: -74px;
+      text-align: center;
+    }
+    span:nth-child(5) {
+      color: #7ff3f4;
+      font-size: 15px;
+      display: block;
+      width: 129px;
+      margin-left: 22px;
+    }
+  }
+  .mapBtn,
+  .mapBtn:nth-child(2),
+  .mapBtn:nth-child(3) {
+    position: absolute;
+    z-index: 99;
+    color: #fff;
+    background: #014e84;
+    margin-top: 38px;
+    margin-left: calc(100% - 140px);
+    border-radius: 11px;
+    height: 43px;
+    display: inline-flex;
+    width: 107px;
+    cursor: pointer;
+    img {
+      margin: 8px 3px 8px 5px;
+      height: 28px;
+      width: 30px;
+    }
+    .text {
+      width: 100px;
+      text-align: center;
+      margin: 3px;
+      span:nth-child(1) {
+        width: 100%;
+        display: block;
+        font-size: 10px;
+      }
+      span:nth-child(2) {
+        width: 100%;
+        display: block;
+        color: red;
+        font-size: 17px;
+        font-weight: bold;
+      }
+    }
+    &:hover {
+      box-shadow: 0px 0px 10px #7ff3f4;
+    }
+  }
+  .mapBtn:nth-child(2) {
+    margin-top: 100px;
+  }
+  .mapBtn:nth-child(3) {
+    margin-top: 160px;
+  }
+  /deep/ .el-table__body-wrapper {
+    overflow: auto;
+    height: calc(100% - 50px);
+  }
+}
+.left2-btn {
+  height: 19px;
+  width: 60px;
+  background-color: #4478d0;
+  color: #fff;
+  font-size: 0.1rem !important;
+  font-weight: 700;
+
+  line-height: 19px !important;
+  text-align: center;
+  position: absolute;
+  cursor: pointer;
+}
+.left2-btn.btn1 {
+  right: 78px;
+  margin-top: 22px;
+}
+.left2-btn.btn2 {
+  right: 12px;
+  margin-top: 22px;
+}
+.left2-btn.date {
+  right: 22px;
+  margin-top: 12px;
+}
+.left2-btn.mounce {
+  right: 22px;
+  margin-top: 57px;
+}
+.left2-btn.all {
+  right: 22px;
+  margin-top: 101px;
+}
+
+.rightData {
+  position: relative;
+  color: #fff;
+  background: #010945;
+  border-radius: 11px;
+  height: 50px;
+  display: inline-flex;
+  width: 125px;
+  cursor: pointer;
+  font-weight: 700;
+  img {
+    margin: 12px;
+    height: 20px;
+    width: 22px;
+  }
+  .text {
+    width: 100px;
+    text-align: center;
+    // margin: 3px;
+    line-height: 21px;
+    span:nth-child(1) {
+      width: 100%;
+      display: block;
+      font-size: 13px;
+    }
+    span:nth-child(2) {
+      width: 100%;
+      display: block;
+      color: #00ccff;
+      font-size: 14px;
+    }
+  }
+}
+.rightData1 {
+  margin-left: 9px;
+  margin-top: 10px;
+}
+.rightData2 {
+  margin-left: 35px;
+  margin-top: 10px;
+}
+.rightData3 {
+  margin-top: 17px;
+  margin-left: 9px;
+}
+.rightData4 {
+  margin-top: 17px;
+  margin-left: 35px;
+}
+.rightData5 {
+  margin-top: 8px;
+  margin-left: 42px;
+}
+
+.textBox {
+  width: 70%;
+  height: 58px;
+  // margin: 0 auto;
+  overflow: hidden;
+  position: absolute;
+  text-align: left;
+  color: #09b560;
+  left: 20px;
+  top: 20px;
+  font-size: 15px;
+  .text {
+    width: 100%;
+    position: absolute;
+    bottom: 0;
+  }
+  .slide-enter-active,
+  .slide-leave-active {
+    transition: all 0.5s linear;
+  }
+  .slide-enter {
+    transform: translateY(20px) scale(1);
+    opacity: 1;
+  }
+  .slide-leave-to {
+    transform: translateY(-20px) scale(0.8);
+    opacity: 0;
+  }
+}
+.leftEchartTitle {
+  height: 30px;
+  display: flex;
+  line-height: 30px;
+  margin-top: 10px;
+  margin-left: 15px;
+  position: absolute;
+  .block1 {
+    width: 17px;
+    height: 8px;
+    background: #2ec7c9;
+    border-radius: 3px;
+    margin-top: 11px;
+  }
+  span:nth-child(2) {
+    color: #fff;
+    font-size: 12px;
+    margin: 0px 3px 0px 3px;
+  }
+  span:nth-child(3) {
+    color: #2ec7c9;
+    font-size: 14px;
+    font-weight: 700;
+    display: block;
+    width: 41px;
+    text-align: center;
+  }
+  span:nth-child(4) {
+    font-size: 12px;
+    color: #2ec7c9;
+  }
+}
+.leftEchartTitle2 {
+  right: 18px;
+  .block1 {
+    background: #b6a2de;
+  }
+  span:nth-child(3) {
+    color: #b6a2de;
+    //   font-size: 15px;
+  }
+}
+.leftEchartTitle3 {
+  margin-top: 37px;
+  .block1 {
+    background: #5ab1ef;
+  }
+  span:nth-child(3) {
+    color: #5ab1ef;
+    //   font-size: 15px;
+  }
+}
+.leftEchartTitle4 {
+  margin-top: 37px;
+  right: 15px;
+  .block1 {
+    background: #ffb980;
+  }
+  span:nth-child(2) {
+    width: 77px;
+  }
+  span:nth-child(3) {
+    color: #ffb980;
+    //   font-size: 15px;
+  }
+}
+.leftEchartTitle5 {
+  margin-top: 64px;
+  .block1 {
+    background: #fc8452;
+  }
+  span:nth-child(3) {
+    color: #fc8452;
+    font-size: 15px;
+  }
+}
+.bayHover {
+  background-color: #0445b5;
+  color: #fff !important;
+}
+.leftEchartTitle.xbNan {
+  right: 20px;
+  margin-top: 76px;
+  .block1 {
+    width: 10px;
+    height: 10px;
+    background: #008dec;
+    margin-top: 10px;
+    border-radius: 100%;
+  }
+  span:nth-child(2) {
+    color: #fff;
+    font-size: 12px;
+  }
+  span:nth-child(3) {
+    color: #008dec;
+    font-size: 15px;
+  }
+  span:nth-child(4) {
+    font-size: 12px;
+    color: #008dec;
+  }
+}
+.leftEchartTitle.xbNv {
+  right: 20px;
+  margin-top: 135px;
+  .block1 {
+    width: 10px;
+    height: 10px;
+    background: #886eff;
+    margin-top: 10px;
+    border-radius: 100%;
+  }
+  span:nth-child(2) {
+    color: #fff;
+    font-size: 12px;
+  }
+  span:nth-child(3) {
+    color: #886eff;
+    font-size: 15px;
+  }
+  span:nth-child(4) {
+    font-size: 12px;
+    color: #886eff;
+  }
+}
+.showDialog:hover {
+  cursor: pointer;
+}
+.bajgxt-home {
+  /deep/.dialog {
+    z-index: 10000000 !important;
+    .el-table {
+      top: 0px !important;
+      margin: 0px !important;
+      width: 100% !important;
+      height: calc(100% - 50px) !important;
+      .el-table__header {
+        background-color: #2d5cc8 !important;
+      }
+      .el-table__body-wrapper {
+        height: calc(100% - 50px);
+        overflow-x: hidden;
+        overflow-y: auto;
+      }
+    }
+    .el-pagination {
+      color: #a2a5a5;
+    }
+    .btn-prev,
+    .btn-next {
+      background: transparent !important;
+    }
+    .el-dialog__body {
+      padding: 10px 20px;
+      height: calc(100% - 60px);
+      .el-input {
+        width: 50px !important;
+        border-bottom: 1px solid #8a7b7b !important;
+      }
+    }
+  }
+  /deep/ .el-dialog {
+    width: 80% !important;
+    height: 77%;
+  }
+}
diff --git a/src/views/home/index_1600_900.scss b/src/views/home/index_1600_900.scss
new file mode 100644
index 0000000..90cc048
--- /dev/null
+++ b/src/views/home/index_1600_900.scss
@@ -0,0 +1,698 @@
+.bajgxt-home {
+  height: 100%;
+  width: 100%;
+  background: url("../../../public/img/bajgxt/backimg.png") no-repeat;
+  background-size: 100% 100%;
+
+  .head-title {
+    background: url("../../../public/img/bajgxt/title2.png") no-repeat;
+    background-size: 100% 100%;
+    width: 100%;
+    height: 77px;
+    text-align: center;
+    // position: relative;
+    span {
+      font-family: "Arial Normal", "Arial", sans-serif;
+      font-size: 36px;
+      color: #ffffff;
+      text-align: center;
+      line-height: 77px;
+    }
+    img {
+      position: absolute;
+      margin-top: 22px;
+      margin-left: 29%;
+    }
+  }
+  .sub-title {
+    float: right;
+    color: #fff;
+    margin-right: 52px;
+    font-size: 18px;
+    margin-top: -35px;
+    cursor: pointer;
+    &:hover {
+      color: #90cef0;
+    }
+  }
+  .content {
+    margin: 5px 20px 20px 20px;
+    height: calc(100% - 102px);
+    width: calc(100% - 40px);
+    display: flex;
+    .left,
+    .right {
+      width: 27%;
+      height: 100%;
+    }
+    .middle {
+      width: calc(46% - 50px);
+      height: 100%;
+      margin: 0px 25px;
+      position: relative;
+    }
+  }
+  .leftimg {
+    background: url("../../../public/img/bajgxt/left1.png") no-repeat;
+    background-size: contain;
+    width: 100%;
+    height: 260px;
+  }
+  .echartClass_1600_900 {
+    // height: 100%;
+    width: 100%;
+    height: calc(100% - 70px);
+  }
+  .left {
+    .left1 {
+      background: url("../../../public/img/bajgxt/left1.png") no-repeat;
+      height: 60%;
+      width: 100%;
+      background-size: 100% 100%;
+      position: relative;
+      #left1Echart {
+        @extend .echartClass_1600_900;
+        height: calc(100% - 140px) !important;
+        margin-top: 68px;
+      }
+    }
+    .left2 {
+      background: url("../../../public/img/bajgxt/rightImg.png") no-repeat;
+      height: calc(40% - 25px);
+      width: 100%;
+      background-size: 100% 100%;
+      margin-top: 25px;
+      position: relative;
+      #left2Echart {
+        @extend .echartClass_1600_900;
+      }
+    }
+  }
+  .right {
+    .right1 {
+      background: url("../../../public/img/bajgxt/rightImg.png") no-repeat;
+      background-size: 100% 100%;
+      width: 100%;
+      height: 28%;
+      position: relative;
+      #right1Echart {
+        @extend .echartClass_1600_900;
+      }
+    }
+    .right2 {
+      background: url("../../../public/img/bajgxt/rightImg.png") no-repeat;
+      background-size: 100% 100%;
+      width: 100%;
+      height: 28%;
+      margin-top: 30px;
+      position: relative;
+      #right2Echart {
+        @extend .echartClass_1600_900;
+      }
+    }
+    .right3 {
+      background: url("../../../public/img/bajgxt/rightImg.png") no-repeat;
+      height: calc(40% - 25px);
+      width: 100%;
+      background-size: 100% 100%;
+      margin-top: 25px;
+      #right3Echart {
+        @extend .echartClass_1600_900;
+      }
+    }
+  }
+  .title-pane {
+    display: inline-flex;
+    height: 44px;
+    img {
+      width: 26px;
+      height: 26px;
+      margin: 12px 10px 0px 10px;
+    }
+    span {
+      line-height: 54px;
+      color: #fff;
+      font-size: 17px;
+    }
+  }
+  .title-pane1 {
+    display: inline-flex;
+    height: 33px;
+    img {
+      width: 26px;
+      height: 26px;
+      margin: 3.5px 10px 0px 10px;
+    }
+    span {
+      line-height: 33px;
+      color: #fff;
+      font-size: 17px;
+    }
+  }
+  .title-pane2 {
+    display: inline-flex;
+    height: 41px;
+    img {
+      width: 26px;
+      height: 26px;
+      margin: 8.5px 10px 0px 10px;
+    }
+    span {
+      line-height: 50px;
+      color: #fff;
+      font-size: 17px;
+    }
+  }
+
+  .middle {
+    .mapimg {
+      background: url("../../../public/img/bajgxt/u3.png") no-repeat;
+      background-size: 100% 100%;
+      height: 60%;
+      width: 100%;
+      #map {
+        width: calc(100% - 40px);
+        height: calc(100% - 40px);
+        margin: 0px 20px;
+        top: 20px;
+        position: relative;
+      }
+    }
+
+    .table {
+      margin-top: 25px;
+      height: calc(40% - 25px);
+      width: 100%;
+      background: url("../../../public/img/bajgxt/table.png") no-repeat;
+      background-size: 100% 100%;
+      position: relative;
+      .table-title {
+        background: url("../../../public/img/bajgxt/tabletitle.png") no-repeat;
+        background-size: 100% 100%;
+        position: absolute;
+        width: 267px;
+        margin-top: -13px;
+        height: 50px;
+        margin-left: calc(50% - 135.5px);
+        color: #fff;
+        font-size: 20px;
+        text-align: center;
+        line-height: 54px;
+      }
+      .lefttop {
+        background: url("../../../public/img/bajgxt/lefttop.png") no-repeat;
+        background-size: 100% 100%;
+        width: 44px;
+        height: 56px;
+        position: absolute;
+        left: -7px;
+        top: -9px;
+      }
+      .leftbottom {
+        background: url("../../../public/img/bajgxt/leftbottom.png") no-repeat;
+        background-size: 100% 100%;
+        width: 44px;
+        height: 56px;
+        position: absolute;
+        left: -7px;
+        bottom: -7px;
+      }
+      .righttop {
+        background: url("../../../public/img/bajgxt/righttop.png") no-repeat;
+        background-size: 100% 100%;
+        width: 44px;
+        height: 56px;
+        position: absolute;
+        left: calc(100% - 37px);
+        top: -9px;
+      }
+      .rightbottom {
+        background: url("../../../public/img/bajgxt/rightbottom.png") no-repeat;
+        background-size: 100% 100%;
+        width: 44px;
+        height: 56px;
+        position: absolute;
+        left: calc(100% - 37px);
+        bottom: -7px;
+      }
+    }
+  }
+  .middle {
+    .el-table {
+      width: calc(100% - 40px);
+      height: calc(100% - 65px);
+      margin: 0px 20px 15px;
+      top: 50px;
+    }
+    /deep/ .el-table--striped .el-table__body tr.el-table__row--striped td {
+      background: #031d4b !important;
+    }
+    /deep/ .el-table--enable-row-transition .el-table__body td,
+    /deep/ .el-table th,
+    .el-table tr {
+      background: #03225b !important;
+    }
+    /deep/ .el-table .cell {
+      color: #fff;
+      text-align: center;
+    }
+    /deep/ .el-table td,
+    .el-table th.is-leaf {
+      border-bottom-color: transparent;
+    }
+    /deep/ .el-table__header th {
+      border-bottom: 1px solid #031a38 !important;
+    }
+    /deep/.el-table--enable-row-hover .el-table__body tr:hover > td {
+      background-color: #b0caf3;
+    }
+  }
+
+  /deep/ .el-input__inner {
+    height: 27px;
+    color: #fff !important;
+    font-size: 14px;
+    background-color: transparent !important;
+    border-color: transparent !important;
+    border-radius: 2px;
+  }
+  /deep/ .el-input {
+    width: 138px;
+  }
+  /deep/ .el-select {
+    line-height: 42px;
+    position: absolute;
+    right: 14px;
+  }
+  /deep/ .el-input__icon {
+    line-height: 43px;
+  }
+  /deep/ .el-select:hover .el-input__inner,
+  /deep/ .el-select .el-input.is-focus .el-input__inner {
+    border: none;
+  }
+  /deep/ .el-table,
+  /deep/ .el-table__expanded-cell,
+  /deep/ .el-table--border::after,
+  /deep/ .el-table--group::after,
+  /deep/ .el-table::before {
+    background-color: transparent !important;
+  }
+  .card-text {
+    height: 30px;
+    padding: 8px 10px;
+    color: #fff;
+    font-size: 14px;
+    text-align: center;
+    span:nth-child(2) {
+      color: red;
+      font-size: 21px;
+      margin: 0px 10px;
+      font-weight: bold;
+    }
+    span:nth-child(4) {
+      margin-left: 15px;
+    }
+    span:nth-child(5) {
+      margin: 0px 10px;
+      color: red;
+      font-size: 20px;
+    }
+  }
+  .right-content {
+    height: calc(100% - 71px);
+    width: calc(100% - 30px);
+    padding: 15px;
+  }
+  .card-list {
+    margin-top: 0px !important;
+    margin: 0px 60px 12px 10px;
+    display: flex;
+    height: 50px;
+    line-height: 50px;
+    img:first-child {
+      height: 50px;
+      z-index: 22;
+    }
+    img:nth-child(2) {
+      position: absolute;
+      margin-left: 13px;
+      width: 30px;
+      height: 30px;
+      margin-top: 9px;
+      z-index: 22;
+    }
+    img:nth-child(3) {
+      margin-left: -20px;
+    }
+    span:nth-child(4) {
+      color: red;
+      font-size: 26px;
+      display: block;
+      width: 71px;
+      margin-left: -78px;
+      text-align: center;
+    }
+    span:nth-child(5) {
+      color: #7ff3f4;
+      font-size: 17px;
+      display: block;
+      width: 129px;
+      margin-left: 16px;
+    }
+  }
+  .mapBtn,
+  .mapBtn:nth-child(2),
+  .mapBtn:nth-child(3) {
+    position: absolute;
+    z-index: 99;
+    color: #fff;
+    background: #014e84;
+    margin-top: 38px;
+    margin-left: calc(100% - 140px);
+    border-radius: 11px;
+    height: 43px;
+    display: inline-flex;
+    width: 107px;
+    cursor: pointer;
+    img {
+      margin: 8px 3px 8px 5px;
+      height: 28px;
+      width: 30px;
+    }
+    .text {
+      width: 100px;
+      text-align: center;
+      margin: 3px;
+      span:nth-child(1) {
+        width: 100%;
+        display: block;
+        font-size: 10px;
+      }
+      span:nth-child(2) {
+        width: 100%;
+        display: block;
+        color: red;
+        font-size: 17px;
+        font-weight: bold;
+      }
+    }
+    &:hover {
+      box-shadow: 0px 0px 10px #7ff3f4;
+    }
+  }
+  .mapBtn:nth-child(2) {
+    margin-top: 100px;
+  }
+  .mapBtn:nth-child(3) {
+    margin-top: 160px;
+  }
+  /deep/ .el-table__body-wrapper {
+    overflow: auto;
+    height: calc(100% - 50px);
+  }
+}
+.left2-btn {
+  height: 21px;
+  width: 69px;
+  background-color: #4478d0;
+  color: #fff;
+  font-size: 13px !important;
+  font-weight: 700;
+
+  line-height: 21px !important;
+  text-align: center;
+  position: absolute;
+  cursor: pointer;
+}
+.left2-btn.btn1 {
+  right: 106px;
+  margin-top: 16px;
+}
+.left2-btn.btn2 {
+  right: 25px;
+  margin-top: 16px;
+}
+.left2-btn.date {
+  right: 35px;
+  margin-top: 0px;
+}
+.left2-btn.mounce {
+  right: 35px;
+  margin-top: 44px;
+}
+.left2-btn.all {
+  right: 35px;
+  margin-top: 87px;
+}
+
+.rightData {
+  position: relative;
+  color: #fff;
+  background: #010945;
+  border-radius: 11px;
+  height: 50px;
+  display: inline-flex;
+  width: 142px;
+  cursor: pointer;
+  font-weight: 700;
+  img {
+    margin: 12px;
+    height: 25px;
+    width: 27px;
+  }
+  .text {
+    width: 100px;
+    text-align: center;
+    // margin: 3px;
+    line-height: 25px;
+    span:nth-child(1) {
+      width: 100%;
+      display: block;
+      font-size: 14px;
+    }
+    span:nth-child(2) {
+      width: 100%;
+      display: block;
+      color: #00ccff;
+      font-size: 15px;
+    }
+  }
+}
+.rightData1 {
+  margin-left: 29px;
+  margin-top: 0px;
+}
+.rightData2 {
+  margin-left: 58px;
+  margin-top: 0px;
+}
+.rightData3 {
+  margin-top: 10px;
+  margin-left: 29px;
+}
+.rightData4 {
+  margin-top: 10px;
+  margin-left: 58px;
+}
+.rightData5 {
+  margin-top: 8px;
+  margin-left: 42px;
+}
+
+.textBox {
+  width: 70%;
+  height: 58px;
+  // margin: 0 auto;
+  overflow: hidden;
+  position: absolute;
+  text-align: left;
+  color: #09b560;
+  left: 20px;
+  top: 20px;
+  font-size: 15px;
+  .text {
+    width: 100%;
+    position: absolute;
+    bottom: 0;
+  }
+  .slide-enter-active,
+  .slide-leave-active {
+    transition: all 0.5s linear;
+  }
+  .slide-enter {
+    transform: translateY(20px) scale(1);
+    opacity: 1;
+  }
+  .slide-leave-to {
+    transform: translateY(-20px) scale(0.8);
+    opacity: 0;
+  }
+}
+.leftEchartTitle {
+  height: 30px;
+  display: flex;
+  line-height: 30px;
+  margin-top: 10px;
+  margin-left: 18px;
+  position: absolute;
+  .block1 {
+    width: 18px;
+    height: 9px;
+    background: #2ec7c9;
+    border-radius: 3px;
+    margin-top: 11px;
+  }
+  span:nth-child(2) {
+    color: #fff;
+    font-size: 13px;
+    margin: 0px 10px 0px 3px;
+  }
+  span:nth-child(3) {
+    color: #2ec7c9;
+    font-size: 17px;
+    font-weight: 700;
+    display: block;
+    width: 65px;
+    text-align: center;
+  }
+  span:nth-child(4) {
+    font-size: 13px;
+    color: #2ec7c9;
+  }
+}
+.leftEchartTitle2 {
+  right: 18px;
+  .block1 {
+    background: #b6a2de;
+  }
+  span:nth-child(3) {
+    color: #b6a2de;
+    font-size: 15px;
+  }
+}
+.leftEchartTitle3 {
+  margin-top: 37px;
+  .block1 {
+    background: #5ab1ef;
+  }
+  span:nth-child(3) {
+    color: #5ab1ef;
+    font-size: 15px;
+  }
+}
+.leftEchartTitle4 {
+  margin-top: 37px;
+  right: 18px;
+  .block1 {
+    background: #ffb980;
+  }
+  span:nth-child(2) {
+    width: 77px;
+  }
+  span:nth-child(3) {
+    color: #ffb980;
+    font-size: 15px;
+  }
+}
+.leftEchartTitle5 {
+  margin-top: 64px;
+  .block1 {
+    background: #fc8452;
+  }
+  span:nth-child(3) {
+    color: #fc8452;
+    font-size: 15px;
+  }
+}
+.bayHover {
+  background-color: #0445b5;
+  color: #fff !important;
+}
+.leftEchartTitle.xbNan {
+  right: 47px;
+  margin-top: 76px;
+  .block1 {
+    width: 10px;
+    height: 10px;
+    background: #008dec;
+    margin-top: 10px;
+    border-radius: 100%;
+  }
+  span:nth-child(2) {
+    color: #fff;
+    font-size: 13px;
+  }
+  span:nth-child(3) {
+    color: #008dec;
+    font-size: 17px;
+  }
+  span:nth-child(4) {
+    font-size: 13px;
+    color: #008dec;
+  }
+}
+.leftEchartTitle.xbNv {
+  right: 47px;
+  margin-top: 135px;
+  .block1 {
+    width: 10px;
+    height: 10px;
+    background: #886eff;
+    margin-top: 10px;
+    border-radius: 100%;
+  }
+  span:nth-child(2) {
+    color: #fff;
+    font-size: 13px;
+  }
+  span:nth-child(3) {
+    color: #886eff;
+    font-size: 17px;
+  }
+  span:nth-child(4) {
+    font-size: 13px;
+    color: #886eff;
+  }
+}
+.showDialog:hover {
+  cursor: pointer;
+}
+.bajgxt-home {
+  /deep/.dialog {
+    z-index: 10000000 !important;
+    .el-table {
+      top: 0px !important;
+      margin: 0px !important;
+      width: 100% !important;
+      height: calc(100% - 50px) !important;
+      .el-table__header {
+        background-color: #2d5cc8 !important;
+      }
+      .el-table__body-wrapper {
+        height: calc(100% - 50px);
+        overflow-x: hidden;
+        overflow-y: auto;
+      }
+    }
+    .el-pagination {
+      color: #a2a5a5;
+    }
+    .btn-prev,
+    .btn-next {
+      background: transparent !important;
+    }
+    .el-dialog__body {
+      padding: 10px 20px;
+      height: calc(100% - 60px);
+      .el-input {
+        width: 50px !important;
+        border-bottom: 1px solid #8a7b7b !important;
+      }
+    }
+  }
+  /deep/ .el-dialog {
+    width: 80% !important;
+    height: 77%;
+  }
+}
diff --git a/src/views/map/carGps.vue b/src/views/map/carGps.vue
index 4581d5c..65e3e29 100644
--- a/src/views/map/carGps.vue
+++ b/src/views/map/carGps.vue
@@ -2,7 +2,7 @@
  * @Author: Morpheus
  * @Date: 2021-07-05 16:31:54
  * @Last Modified by: Morpheus
- * @Last Modified time: 2021-08-14 10:57:44
+ * @Last Modified time: 2021-09-03 16:20:17
  * menu-name 押运人员定位
  */
 <template>
@@ -126,8 +126,10 @@
                        :modal='false'
                        :visible.sync="dialogVisible"
                        :before-close="dialogBeforeClose"
+                       :close-on-click-modal='false'
                        class="car-video-box">
                 <iframe src="/carVideo/parent.html"
+                        ref="videoIframe"
                         frameborder="0"></iframe>
             </el-dialog>
         </el-col>
@@ -303,9 +305,18 @@
 
                 if (cont != undefined) {
                     that.dialogVisible = true
+
+                    that.$refs.videoIframe.contentWindow.startVideo()
                 }
             })
 
+        },
+
+        dialogBeforeClose() {
+          this.dialogVisible = false
+
+          this.$refs.videoIframe.contentWindow.closeVideo()
+
         }
 
     },
diff --git a/src/views/securityUnitOperation/economicAnalysis.vue b/src/views/securityUnitOperation/economicAnalysis.vue
index be41faf..94707c8 100644
--- a/src/views/securityUnitOperation/economicAnalysis.vue
+++ b/src/views/securityUnitOperation/economicAnalysis.vue
@@ -325,6 +325,57 @@
 };
 </script>
 <style lang="scss" scoped>
+@media screen and (max-width: 1280px) {
+  .box-card {
+    font-size: 15px;
+    width: 128px;
+    background: #00aaf1;
+    height: 117px;
+    text-align: center;
+    margin-right: 28px;
+    box-shadow: 5px 5px 5px rgba($color: #000, $alpha: 0.35);
+    line-height: 36px;
+    span:nth-child(2) {
+      color: #06ffff;
+      font-size: 31px;
+    }
+  }
+  .col-content {
+    margin-top: 39px !important;
+  }
+}
+// 适配分辨率1600*900
+@media screen and (min-width: 1281px) and (max-width: 1600px) {
+  .box-card {
+    font-size: 15px;
+    width: 128px;
+    background: #00aaf1;
+    height: 117px;
+    text-align: center;
+    margin-right: 66px;
+    box-shadow: 5px 5px 5px rgba($color: #000, $alpha: 0.35);
+    line-height: 36px;
+    span:nth-child(2) {
+      color: #06ffff;
+      font-size: 31px;
+    }
+  }
+}
+@media screen and(min-width:1601px) and (max-width: 1920px) {
+  .box-card {
+    width: 150px;
+    background: #00aaf1;
+    height: 135px;
+    text-align: center;
+    margin-right: 66px;
+    box-shadow: 5px 5px 5px rgba($color: #000, $alpha: 0.35);
+    line-height: 40px;
+    span:nth-child(2) {
+      color: #06ffff;
+      font-size: 34px;
+    }
+  }
+}
 .page1 {
   height: 100%;
   width: 100%;
@@ -362,23 +413,11 @@
     font-weight: 600;
   }
 }
-.box-card {
-  width: 150px;
-  background: #00aaf1;
-  height: 135px;
-  text-align: center;
-  margin-right: 66px;
-  box-shadow: 5px 5px 5px rgba($color: #000, $alpha: 0.35);
-  line-height: 40px;
-}
+
 .box-card span {
   display: block;
   width: 100%;
   color: #fff;
-}
-.box-card span:nth-child(2) {
-  color: #06ffff;
-  font-size: 34px;
 }
 .rowTitle {
   height: 40px;
diff --git a/src/views/securityUnitOperation/operationAnalysis.vue b/src/views/securityUnitOperation/operationAnalysis.vue
index 3da4c0b..defe937 100644
--- a/src/views/securityUnitOperation/operationAnalysis.vue
+++ b/src/views/securityUnitOperation/operationAnalysis.vue
@@ -414,6 +414,271 @@
 };
 </script>
 <style lang="scss" scoped>
+@media screen and (max-width: 1280px) {
+  .box-card {
+    font-size: 15px;
+    width: 128px;
+    background: #00aaf1;
+    height: 117px;
+    text-align: center;
+    margin-right: 28px;
+    box-shadow: 5px 5px 5px rgba($color: #000, $alpha: 0.35);
+    line-height: 36px;
+    span:nth-child(2) {
+      color: #06ffff;
+      font-size: 31px;
+    }
+  }
+  .col-content {
+    margin-top: 39px !important;
+  }
+  .leftEchartTitle.qing {
+    right: 10px;
+    margin-top: 42px;
+    .block1 {
+      background: #73c0de;
+      margin-top: 11px;
+      width: 10px;
+      height: 10px;
+      border-radius: 100%;
+    }
+    span:nth-child(2) {
+      color: #fff;
+      font-size: 12px;
+      margin: 0px 3px 0px 3px;
+    }
+    span:nth-child(3) {
+      color: #73c0de;
+      font-size: 15px;
+      width: 45px;
+    }
+    span:nth-child(4) {
+      font-size: 12px;
+      color: #73c0de;
+    }
+  }
+  .leftEchartTitle.zhong {
+    right: 10px;
+    margin-top: 83px;
+    .block1 {
+      width: 10px;
+      height: 10px;
+      border-radius: 100%;
+      background: #fac858;
+      margin-top: 11px;
+    }
+    span:nth-child(2) {
+      color: #fff;
+      font-size: 12px;
+      margin: 0px 3px 0px 3px;
+    }
+    span:nth-child(3) {
+      color: #fac858;
+      font-size: 15px;
+      width: 45px;
+    }
+    span:nth-child(4) {
+      font-size: 12px;
+      color: #fac858;
+    }
+  }
+  .leftEchartTitle.lao {
+    right: 10px;
+    margin-top: 125px;
+    .block1 {
+      width: 10px;
+      height: 10px;
+      border-radius: 100%;
+      background: #91cc75;
+      margin-top: 11px;
+    }
+    span:nth-child(2) {
+      color: #fff;
+      font-size: 12px;
+      margin: 0px 3px 0px 3px;
+    }
+    span:nth-child(3) {
+      color: #91cc75;
+      font-size: 15px;
+      width: 45px;
+    }
+    span:nth-child(4) {
+      font-size: 12px;
+      color: #91cc75;
+    }
+  }
+}
+// 适配分辨率1600*900
+@media screen and (min-width: 1281px)and (max-width: 1600px)  {
+  .box-card {
+    font-size: 15px;
+    width: 128px;
+    background: #00aaf1;
+    height: 117px;
+    text-align: center;
+    margin-right: 66px;
+    box-shadow: 5px 5px 5px rgba($color: #000, $alpha: 0.35);
+    line-height: 36px;
+    span:nth-child(2) {
+      color: #06ffff;
+      font-size: 31px;
+    }
+  }
+  .leftEchartTitle.qing {
+    right: 37px;
+    margin-top: 42px;
+    .block1 {
+      width: 10px;
+      height: 10px;
+      background: #73c0de;
+      margin-top: 10px;
+      border-radius: 100%;
+    }
+    span:nth-child(2) {
+      color: #fff;
+      font-size: 13px;
+    }
+    span:nth-child(3) {
+      color: #73c0de;
+      font-size: 17px;
+    }
+    span:nth-child(4) {
+      font-size: 13px;
+      color: #73c0de;
+    }
+  }
+  .leftEchartTitle.zhong {
+    right: 37px;
+    margin-top: 83px;
+    .block1 {
+      width: 10px;
+      height: 10px;
+      background: #fac858;
+      margin-top: 10px;
+      border-radius: 100%;
+    }
+    span:nth-child(2) {
+      color: #fff;
+      font-size: 13px;
+    }
+    span:nth-child(3) {
+      color: #fac858;
+      font-size: 17px;
+    }
+    span:nth-child(4) {
+      font-size: 13px;
+      color: #fac858;
+    }
+  }
+  .leftEchartTitle.lao {
+    right: 37px;
+    margin-top: 125px;
+    .block1 {
+      width: 10px;
+      height: 10px;
+      background: #91cc75;
+      margin-top: 10px;
+      border-radius: 100%;
+    }
+    span:nth-child(2) {
+      color: #fff;
+      font-size: 13px;
+    }
+    span:nth-child(3) {
+      color: #91cc75;
+      font-size: 17px;
+    }
+    span:nth-child(4) {
+      font-size: 13px;
+      color: #91cc75;
+    }
+  }
+}
+@media screen and (min-width: 1601px)and (max-width: 1920px) {
+  .box-card {
+    width: 150px;
+    background: #00aaf1;
+    height: 135px;
+    text-align: center;
+    margin-right: 66px;
+    box-shadow: 5px 5px 5px rgba($color: #000, $alpha: 0.35);
+    line-height: 40px;
+    span:nth-child(2) {
+      color: #06ffff;
+      font-size: 34px;
+    }
+  }
+  .leftEchartTitle.qing {
+    right: 37px;
+    margin-top: 42px;
+    .block1 {
+      width: 10px;
+      height: 10px;
+      background: #73c0de;
+      margin-top: 10px;
+      border-radius: 100%;
+    }
+    span:nth-child(2) {
+      color: #fff;
+      font-size: 13px;
+    }
+    span:nth-child(3) {
+      color: #73c0de;
+      font-size: 17px;
+    }
+    span:nth-child(4) {
+      font-size: 13px;
+      color: #73c0de;
+    }
+  }
+  .leftEchartTitle.zhong {
+    right: 37px;
+    margin-top: 83px;
+    .block1 {
+      width: 10px;
+      height: 10px;
+      background: #fac858;
+      margin-top: 10px;
+      border-radius: 100%;
+    }
+    span:nth-child(2) {
+      color: #fff;
+      font-size: 13px;
+    }
+    span:nth-child(3) {
+      color: #fac858;
+      font-size: 17px;
+    }
+    span:nth-child(4) {
+      font-size: 13px;
+      color: #fac858;
+    }
+  }
+  .leftEchartTitle.lao {
+    right: 37px;
+    margin-top: 125px;
+    .block1 {
+      width: 10px;
+      height: 10px;
+      background: #91cc75;
+      margin-top: 10px;
+      border-radius: 100%;
+    }
+    span:nth-child(2) {
+      color: #fff;
+      font-size: 13px;
+    }
+    span:nth-child(3) {
+      color: #91cc75;
+      font-size: 17px;
+    }
+    span:nth-child(4) {
+      font-size: 13px;
+      color: #91cc75;
+    }
+  }
+}
+
 .page1 {
   height: 100%;
   width: 100%;
@@ -452,23 +717,11 @@
     font-weight: 600;
   }
 }
-.box-card {
-  width: 150px;
-  background: #00aaf1;
-  height: 135px;
-  text-align: center;
-  margin-right: 66px;
-  box-shadow: 5px 5px 5px rgba($color: #000, $alpha: 0.35);
-  line-height: 40px;
-}
+
 .box-card span {
   display: block;
   width: 100%;
   color: #fff;
-}
-.box-card span:nth-child(2) {
-  color: #06ffff;
-  font-size: 34px;
 }
 .rowTitle {
   height: 40px;
@@ -540,72 +793,6 @@
   span:nth-child(4) {
     font-size: 13px;
     color: #2ec7c9;
-  }
-}
-.leftEchartTitle.qing {
-  right: 37px;
-  margin-top: 42px;
-  .block1 {
-    width: 30px;
-    height: 15px;
-    background: #73c0de;
-    margin-top: 7px;
-  }
-  span:nth-child(2) {
-    color: #fff;
-    font-size: 13px;
-  }
-  span:nth-child(3) {
-    color: #73c0de;
-    font-size: 17px;
-  }
-  span:nth-child(4) {
-    font-size: 13px;
-    color: #73c0de;
-  }
-}
-.leftEchartTitle.zhong {
-  right: 37px;
-  margin-top: 83px;
-  .block1 {
-    width: 30px;
-    height: 15px;
-    background: #fac858;
-    margin-top: 7px;
-  }
-  span:nth-child(2) {
-    color: #fff;
-    font-size: 13px;
-  }
-  span:nth-child(3) {
-    color: #fac858;
-    font-size: 17px;
-  }
-  span:nth-child(4) {
-    font-size: 13px;
-    color: #fac858;
-  }
-}
-.leftEchartTitle.lao {
-  right: 37px;
-  margin-top: 125px;
-  .block1 {
-    width: 30px;
-    height: 15px;
-    background: #91cc75;
-    margin-top: 7px;
-  }
-  span:nth-child(2) {
-    color: #fff;
-    font-size: 13px;
-  }
-  span:nth-child(3) {
-    color: #91cc75;
-    font-size: 17px;
-  }
-  span:nth-child(4) {
-    font-size: 13px;
-    color: #91cc75;
   }
 }
 </style>
diff --git a/vue.config.js b/vue.config.js
index c82e3eb..ea7ab98 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -30,10 +30,10 @@
         // target: 'http://192.168.0.109:1',
         //远程演示服务地址,可用于直接启动项目
         // target: 'http://2h3f861221.wicp.vip:58646',
-        // target: 'http://s16s652780.51mypc.cn/api',
-        // target: 'http://192.168.0.114:82',
-        // target: 'http://192.168.0.109:82',
         target: 'http://s16s652780.51mypc.cn/api',
+        // target: 'http://192.168.0.114:82',
+        // target: 'http://192.168.0.108:82',
+        // target: 'http://s16s652780.51mypc.cn/api',
         // 服务器使用
         // target: 'http://localhost:82',
         ws: true,

--
Gitblit v1.9.3