From 51f8540633fe9eaa9c2c9b5ff439f2bf9bf9094e Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期二, 04 八月 2020 17:31:09 +0800
Subject: [PATCH] iframe ui调整,GB28181 radio操作修复,应用打开方式调整

---
 src/pages/gb28181/index/App.vue                     |   24 +-
 public/index.html                                   |   77 ++++---
 public/images/desktop/header-icon/min.png           |    0 
 src/pages/desktop/index/components/ToolsEntry.vue   |   14 
 src/pages/cameraVideo/index/App.vue                 |    3 
 src/pages/desktop/index/components/DFrame.vue       |   53 +++-
 src/components/LeftNav.vue                          |    4 
 src/pages/cameraVideo/index/Video.vue               |    5 
 src/pages/desktop/index/mock/userData.json          |    4 
 src/pages/cameraAccess/components/SceneRule.vue     |   69 ------
 public/images/desktop/header-icon/mini.png          |    0 
 src/pages/cameraAccess/index/App.vue                |    5 
 src/pages/library/index/App.vue                     |    4 
 public/images/desktop/header-icon/close-hover.png   |    0 
 public/images/desktop/header-icon/close.png         |    0 
 public/images/desktop/header-icon/max.png           |    0 
 src/Pool/TaskMange.ts                               |    1 
 src/pages/cameraAccess/index/VideoManage.vue        |    7 
 src/pages/desktop/index/components/Tools.vue        |    8 
 src/pages/desktop/index/components/NoticeTip.vue    |    2 
 src/pages/cameraAccess/components/SeparateRules.vue |  283 +++++++++++----------------
 21 files changed, 241 insertions(+), 322 deletions(-)

diff --git a/public/images/desktop/header-icon/close-hover.png b/public/images/desktop/header-icon/close-hover.png
new file mode 100644
index 0000000..01f76b6
--- /dev/null
+++ b/public/images/desktop/header-icon/close-hover.png
Binary files differ
diff --git a/public/images/desktop/header-icon/close.png b/public/images/desktop/header-icon/close.png
new file mode 100644
index 0000000..e386c4d
--- /dev/null
+++ b/public/images/desktop/header-icon/close.png
Binary files differ
diff --git a/public/images/desktop/header-icon/max.png b/public/images/desktop/header-icon/max.png
new file mode 100644
index 0000000..ff7b5c8
--- /dev/null
+++ b/public/images/desktop/header-icon/max.png
Binary files differ
diff --git a/public/images/desktop/header-icon/min.png b/public/images/desktop/header-icon/min.png
new file mode 100644
index 0000000..fda6edf
--- /dev/null
+++ b/public/images/desktop/header-icon/min.png
Binary files differ
diff --git a/public/images/desktop/header-icon/mini.png b/public/images/desktop/header-icon/mini.png
new file mode 100644
index 0000000..9bf0dd7
--- /dev/null
+++ b/public/images/desktop/header-icon/mini.png
Binary files differ
diff --git a/public/index.html b/public/index.html
index 88d03e7..a862cfd 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,33 +1,50 @@
 <!DOCTYPE html>
 <html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width,initial-scale=1.0" />
+    <link
+      rel="icon"
+      type="image/png"
+      href="<%= BASE_URL %>favicon.png"
+      sizes="32x32"
+    />
+    <link rel="stylesheet" href="/fonts/alibaba/iconfont.css">
+    <title><%= htmlWebpackPlugin.options.title %></title>
+    <style>
+      html,
+      body,
+      h2,
+      p,
+      ul,
+      li {
+        margin: 0;
+        padding: 0;
+      }
 
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width,initial-scale=1.0">
-  <link rel="icon" type="image/png" href="<%= BASE_URL %>favicon.png" sizes="32x32">
-  <link rel="stylesheet" href="/fonts/alibaba/iconfont.css">
-  <title><%= htmlWebpackPlugin.options.title %></title>
-  <style>
-    html,
-    body,
-    h2,
-    p,
-    ul,
-    li {
-      margin: 0;
-      padding: 0;
-    }
-  </style>
-</head>
-
-<body>
-  <noscript>
-    <strong>We're sorry but multiple-pages doesn't work properly without JavaScript enabled. Please enable it to
-      continue.</strong>
-  </noscript>
-  <div id="app"></div>
-  <!-- built files will be auto injected -->
-</body>
-
-</html>
\ No newline at end of file
+      .clearfix::after{
+        content: '';
+        display: block;
+        height: 0;
+        clear: both;
+      }
+      .ml10{
+        margin-left: 10px;
+      }
+      .mr10{
+        margin-right: 10px;
+      }
+    </style>
+  </head>
+  <body>
+    <noscript>
+      <strong
+        >We're sorry but multiple-pages doesn't work properly without JavaScript
+        enabled. Please enable it to continue.</strong
+      >
+    </noscript>
+    <div id="app"></div>
+    <!-- built files will be auto injected -->
+  </body>
+</html>
diff --git a/src/Pool/TaskMange.ts b/src/Pool/TaskMange.ts
index 3efa54f..76575b9 100644
--- a/src/Pool/TaskMange.ts
+++ b/src/Pool/TaskMange.ts
@@ -63,7 +63,6 @@
   async findAllSdk(params) {
     let res:any = await findAllSdk(params)
     if (res && res.success) {
-      debugger
       this.list1 = res.data
     }
   }
diff --git a/src/components/LeftNav.vue b/src/components/LeftNav.vue
index 6fe6546..1ad2f58 100644
--- a/src/components/LeftNav.vue
+++ b/src/components/LeftNav.vue
@@ -180,13 +180,13 @@
                 ></i>
               </el-input>
               <!-- 闅愯棌鏍戞寜閽� -->
-              <div class="dev-tree-close">
+              <!-- <div class="dev-tree-close">
                 <i
                   class="el-icon-s-fold"
                   style="color: #3D68E1;line-height: 22px;font-size: 27px;"
                   @click="closeTree"
                 ></i>
-              </div>
+              </div> -->
             </div>
 
             <!-- 鏈湴瑙嗛婧愬垪琛� -->
diff --git a/src/pages/cameraAccess/components/SceneRule.vue b/src/pages/cameraAccess/components/SceneRule.vue
index 43098ea..a24fec5 100644
--- a/src/pages/cameraAccess/components/SceneRule.vue
+++ b/src/pages/cameraAccess/components/SceneRule.vue
@@ -48,74 +48,7 @@
           </el-form-item>
         </div>
       </div>
-      <!-- <el-row>
-      <el-col :span="8">-->
-      <!-- <el-form-item label="鍦烘櫙妯℃澘">
-            <el-select
-              v-model="sceneForm.template_id"
-              placeholder="璇烽�夋嫨"
-              @change="selectTemplate"
-              size="mini"
-              style="width:200px"
-            >
-              <el-option
-                v-for="item in sceneTemplates"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id"
-              ></el-option>
-            </el-select>
-      </el-form-item>-->
-      <!-- </el-col>
-        <el-col :span="8">
-          <el-form-item label="鏃堕棿娈�">
-            <el-select
-              v-model="sceneForm.time_rule_id"
-              placeholder="璇烽�夋嫨"
-              size="mini"
-              style="width:200px"
-            >
-              <el-option
-                v-for="item in VideoManageData.TimeRules"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
-      </el-row>-->
-      <!-- <el-row>
-        <el-col :span="8">
-          <el-form-item label="鍦烘櫙鍚嶇О">
-            <el-input v-model="sceneForm.scene_name" size="mini" style="width:200px"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="鍦烘櫙鎻忚堪">
-            <el-input v-model="sceneForm.desc" type="textarea" size="mini" style="width:200px;height:180px;"></el-input>
-          </el-form-item>
-        </el-col>
-      </el-row>-->
-      <!-- <el-row>
-        <el-col :span="8">
-          <el-form-item label="浜嬩欢绛夌骇">
-            <el-select
-              v-model="sceneForm.alarm_level"
-              placeholder="璇烽�夋嫨"
-              size="mini"
-              style="width:200px"
-            >
-              <el-option label="涓�绾�" :value="1"></el-option>
-              <el-option label="浜岀骇" :value="2"></el-option>
-              <el-option label="涓夌骇" :value="3"></el-option>
-              <el-option label="鍥涚骇" :value="4"></el-option>
-              <el-option label="浜旂骇" :value="5"></el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
-      </el-row>-->
-
+      
       <scene-editor
         ref="sceneEditor"
         :isLinkRule="linkRule"
diff --git a/src/pages/cameraAccess/components/SeparateRules.vue b/src/pages/cameraAccess/components/SeparateRules.vue
index c6aa3f2..807cc3b 100644
--- a/src/pages/cameraAccess/components/SeparateRules.vue
+++ b/src/pages/cameraAccess/components/SeparateRules.vue
@@ -2,114 +2,104 @@
   <div class="s-separate-rules">
     <div class="ai">
       <div class="check-area">
-        <el-row class="mt5">
-          <el-col :span="24">
-            <div class="ai-select">
-              <div style="float:left;" v-show="cameraType === 'camera'">
-                <span>
-                  <span class="label">瑙嗛鍒嗘瀽澶勭悊</span>
-                  <el-switch
-                    style="margin-left: 10px;"
-                    v-model="Camera.analytics"
-                    @change="pollEnable"
-                    :disabled="!Camera.cameraId"
-                  ></el-switch>
-                </span>
-              </div>
+        <div class="ai-select">
+          <div v-show="cameraType === 'camera'">
+            <span>
+              <span class="label">瑙嗛鍒嗘瀽澶勭悊</span>
+              <el-switch
+                style="margin-left: 10px;"
+                v-model="Camera.analytics"
+                @change="pollEnable"
+                :disabled="!Camera.cameraId"
+              ></el-switch>
+            </span>
+          </div>
 
-              <div
-                v-if="Camera.analytics"
-                style="float:left;margin-left: 5%;"
-                class="flex-box"
-                v-show="cameraType === 'camera'"
+          <div
+            v-if="Camera.analytics"
+            class="flex-box"
+            v-show="cameraType === 'camera'"
+          >
+            <span class="label" >澶勭悊鏂瑰紡</span>
+            <toggle-button
+              :value="Camera.dealWay"
+              :width="60"
+              :labels="{checked: '瀹炴椂', unchecked: '杞'}"
+              :color="{checked: '#3D68E1', unchecked: '#FF7733', disabled: '#CCCCCC'}"
+              :sync="true"
+              @change="changePoll"
+            />
+          </div>
+
+          <div
+            v-if="Camera.analytics"
+            class="flex-box"
+            v-show="cameraType === 'camera'"
+          >
+            <span class="label" >鍒嗚鲸鐜�</span>
+            <el-select
+              v-model="Camera.selectResolution"
+              placeholder="璇烽�夋嫨"
+              size="mini"
+              style="width: 134px;
+                margin-left:10px;"
+            >
+              <el-option
+                v-for="item in Camera.resolutionOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              ></el-option>
+            </el-select>
+          </div>
+
+          <div v-if="Camera.analytics" class="flex-box">
+            <span class="label" >鏅鸿兘璁$畻鑺傜偣: {{ Camera.runServerName}}</span>
+          </div>
+
+          <div
+            v-if="Camera.analytics"
+            class="flex-box"
+          >
+            <span >绠楁硶蹇�熼�氶亾</span>
+            <div class="channel flex-box" >
+              <el-tooltip
+                effect="dark"
+                content="澶嶅埗姝ゆ憚鍍忔満绠楁硶瑙勫垯"
+                placement="bottom"
+                popper-class="atooltip"
               >
-                <span class="label" style="margin-right:10px;line-height: 22px;">澶勭悊鏂瑰紡</span>
-                <toggle-button
-                  :value="Camera.dealWay"
-                  :width="60"
-                  :labels="{checked: '瀹炴椂', unchecked: '杞'}"
-                  :color="{checked: '#3D68E1', unchecked: '#FF7733', disabled: '#CCCCCC'}"
-                  :sync="true"
-                  @change="changePoll"
-                />
-              </div>
-
-              <div
-                v-if="Camera.analytics"
-                style="float:left;margin-left:5%;"
-                class="flex-box"
-                v-show="cameraType === 'camera'"
+                <span
+                  style="color:#3D68E1;cursor: pointer;font-size:23px;"
+                  @click="ctrlC"
+                  class="iconfont iconfuzhiguize"
+                ></span>
+              </el-tooltip>
+              <el-tooltip
+                effect="dark"
+                :content="!TreeDataPool.ctrlCameraId?'绮樿创绠楁硶瑙勫垯':`绮樿创绠楁硶瑙勫垯锛屾潵婧愶細${TreeDataPool.ctrlCameraName}`"
+                placement="bottom"
+                popper-class="atooltip"
               >
-                <span class="label" style="line-height:25px">鍒嗚鲸鐜�</span>
-                <el-select
-                  v-model="Camera.selectResolution"
-                  placeholder="璇烽�夋嫨"
-                  size="mini"
-                  style="width: 134px;height: 30px;
-                    margin-left:10px;position: relative;bottom: 3px;"
-                >
-                  <el-option
-                    v-for="item in Camera.resolutionOption"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  ></el-option>
-                </el-select>
-              </div>
-
-              <div v-if="Camera.analytics" style="float:left;margin-left:5%;" class="flex-box">
-                <span class="label" style="line-height:22px">鏅鸿兘璁$畻鑺傜偣: {{ Camera.runServerName}}</span>
-              </div>
-
-              <div
-                v-if="Camera.analytics"
-                style="float:left;margin-left: 5%;line-height: 22px;"
-                class="flex-box"
-              >
-                <span style="float:left;">绠楁硶蹇�熼�氶亾</span>
-                <div class="flex-box" style="float: left;
-                  margin-left: 5px;">
-                  <el-tooltip
-                    effect="dark"
-                    content="澶嶅埗姝ゆ憚鍍忔満绠楁硶瑙勫垯"
-                    placement="bottom"
-                    popper-class="atooltip"
-                  >
-                    <span
-                      style="color:#3D68E1;cursor: pointer;font-size:23px;"
-                      @click="ctrlC"
-                      class="iconfont iconfuzhiguize"
-                    ></span>
-                  </el-tooltip>
-                  <el-tooltip
-                    effect="dark"
-                    :content="!TreeDataPool.ctrlCameraId?'绮樿创绠楁硶瑙勫垯':`绮樿创绠楁硶瑙勫垯锛屾潵婧愶細${TreeDataPool.ctrlCameraName}`"
-                    placement="bottom"
-                    popper-class="atooltip"
-                  >
-                    <span
-                      :style="!TreeDataPool.ctrlCameraId?'cursor: not-allowed;font-size:23px;':'color:#3D68E1;font-size:23px;cursor: pointer;'"
-                      @click="ctrlV"
-                      class="iconfont iconniantie ml5"
-                    ></span>
-                  </el-tooltip>
-                </div>
-              </div>
+                <span
+                  :style="!TreeDataPool.ctrlCameraId?'cursor: not-allowed;font-size:23px;':'color:#3D68E1;font-size:23px;cursor: pointer;'"
+                  @click="ctrlV"
+                  class="iconfont iconniantie ml5"
+                ></span>
+              </el-tooltip>
             </div>
-          </el-col>
-        </el-row>
+          </div>
+        </div>
       </div>
     </div>
 
-    <div
-      style="width: calc(100% + 76px);position: absolute;left: -38px;top:38px;height: 10px;background-color: #E9EBF2;"
-    ></div>
+    <div class="devide"></div>
 
     <div class="top" style="top:60px;">
       <p class="task-css">
         <b style="font-size: 14px; line-height: 18px;">鍦烘櫙</b>
       </p>
-      <div>
+      <div class="clearfix">
         <slide-scene :sceneData="Camera.rules"></slide-scene>
         <div class="top-right">
           <sysinfo
@@ -120,55 +110,10 @@
           />
         </div>
       </div>
-
-      <!-- <swiper :options="swiperOption" class="swiper-box-container">
-       
-        <swiper-slide v-for="(item, index) in 10" :key="index">
-          <div class="item-card">
-            <p style="color: #0066EB;padding-top: 20px;">
-              <b>{{ item }}</b>
-            </p>
-          </div>
-        </swiper-slide>
-      </swiper>
-      <div class="swiper-pre-border" >
-        <div class="icon-btn" slot="button-prev">
-          <i class="iconfont iconzuo"></i>
-        </div>
-      </div>
-      <div class="swiper-next-border" >
-        <div class="icon-btn" slot="button-next">
-          <i class="iconfont iconyou1"></i>
-        </div>
-      </div>-->
-      <!-- <swiper :options="swiperOption" class="swiper-box-container">
-        <span class="task-tip" v-show="Camera.rules.length == 0 ">鏆傛棤鍦烘櫙,璇峰紑濮嬪垱寤�</span>
-        <swiper-slide v-for="(item, index) in Camera.rules" :key="index">
-          <div class="item-card">
-            <p style="color: #0066EB;padding-top: 20px;">
-              <b>{{ item.scene_name }}</b>
-            </p>
-          </div>
-        </swiper-slide>
-      </swiper>
-      <div class="swiper-pre-border" v-show="Camera.rules.length > 4 ">
-        <div class="icon-btn" slot="button-prev">
-          <i class="iconfont iconzuo"></i>
-        </div>
-      </div>
-      <div class="swiper-next-border" v-show="Camera.rules.length > 4 ">
-        <div class="icon-btn" slot="button-next">
-          <i class="iconfont iconyou1"></i>
-        </div>
-      </div>-->
-
-      <!-- 绯荤粺淇℃伅 -->
     </div>
 
-    <div class="bottom" style="top:254px;">
-      <div
-        style="width: calc(100% + 100px);height: 10px;background-color: #E9EBF2;position:relative;left:-40px"
-      ></div>
+    <div class="bottom" >
+      <div class="devide"></div>
       <div class="bottom-right">
         <div class="draw-and-time-box">
           <div class="draw-box">
@@ -252,8 +197,8 @@
 
 import TimeSlider from "./TimeSlider";
 import polygonCanvas from "@/components/canvas";
-import Sysinfo from "./SystemInfo";
-
+//import Sysinfo from "./SystemInfo";
+import Sysinfo from "@/components/subComponents/SystemInfo";
 import SceneRule from "./SceneRule";
 import SlideScene from "./scene/SlideScene";
 
@@ -525,28 +470,42 @@
 <style lang="scss">
 .s-separate-rules {
   width: 100%;
-  height: 100%;
-  position: relative;
+
   .ai {
-    width: calc(100% + 76px);
-    height: 38px;
-    position: absolute;
-    left: -38px;
+    //width: calc(100% + 76px);
+    // height: 38px;
+    // position: absolute;
+    // left: -38px;
+    height:40px;
     .check-area {
       width: 100%;
       height: 100%;
-      float: left;
-      overflow: auto;
-      padding: 0 38px;
+      padding: 0 20px;
       -webkit-box-sizing: border-box;
       box-sizing: border-box;
+      .ai-select{
+        line-height: 30px;
+        height: 30px;
+      }
+      .ai-select>div{
+        display: inline-block;
+        vertical-align: middle;
+        margin-right: 30px;
+        
+        .channel{
+          display: inline-block;
+        }
+      }
     }
+  }
+  .devide{
+    height: 10px;
+    background: #E9EBF2;
   }
   .top {
     width: 100%;
-    height: 174px;
-    position: relative;
-    top: 60px;
+    padding: 10px 20px;
+    box-sizing: border-box;
     .swiper-box {
       height: 100%;
       float: left;
@@ -653,9 +612,7 @@
   }
   .bottom {
     width: 100%;
-    height: calc(100% - 234px);
-    position: absolute;
-    top: 234px;
+  
     .bottom-side {
       height: 100%;
       width: 250px;
@@ -681,11 +638,7 @@
       }
     }
     .bottom-right {
-      width: calc(100% + 30px);
-      height: 100%;
-      float: left;
-      overflow: auto;
-      padding: 10px 0px;
+      padding: 10px 20px;
       box-sizing: border-box;
       .draw-and-time-box {
         height: 400px;
diff --git a/src/pages/cameraAccess/index/App.vue b/src/pages/cameraAccess/index/App.vue
index 07c77bb..ed18d33 100644
--- a/src/pages/cameraAccess/index/App.vue
+++ b/src/pages/cameraAccess/index/App.vue
@@ -63,10 +63,9 @@
 }
 .column-right {
   height: 100%;
-  padding: 16px;
-  background-color: #eee;
+  background-color: #fff;
   box-sizing: border-box;
-  overflow: hidden;
+  overflow: auto;
 }
 .resize-save {
   position: absolute;
diff --git a/src/pages/cameraAccess/index/VideoManage.vue b/src/pages/cameraAccess/index/VideoManage.vue
index 09eb5c2..b06836b 100644
--- a/src/pages/cameraAccess/index/VideoManage.vue
+++ b/src/pages/cameraAccess/index/VideoManage.vue
@@ -250,6 +250,8 @@
     height: 100%;
     width: 100%;
     .el-tabs__header {
+      position: fixed;
+      top: 16px;
       .is-active {
         color: #3d68e1 !important;
       }
@@ -278,9 +280,10 @@
   }
   .el-tabs__content {
     width: 100%;
-    height: calc(100% - 52px);
+    margin-top: 52px;
+    //height: calc(100% - 52px);
     box-sizing: border-box;
-    padding: 13px 38px;
+    padding: 13px 0;
   }
   .el-tab-pane {
     width: 100%;
diff --git a/src/pages/cameraVideo/index/App.vue b/src/pages/cameraVideo/index/App.vue
index 8b784d2..998da23 100644
--- a/src/pages/cameraVideo/index/App.vue
+++ b/src/pages/cameraVideo/index/App.vue
@@ -52,8 +52,7 @@
 }
 .column-right {
   height: 100%;
-  padding: 16px;
-  background-color: #eee;
+  background-color: #fff;
   box-sizing: border-box;
   overflow: hidden;
 }
diff --git a/src/pages/cameraVideo/index/Video.vue b/src/pages/cameraVideo/index/Video.vue
index 278fa15..32cd6ca 100644
--- a/src/pages/cameraVideo/index/Video.vue
+++ b/src/pages/cameraVideo/index/Video.vue
@@ -147,7 +147,6 @@
   },
   created() {
     console.log("befor created")
-    debugger
     // this.TreeDataPool.clean();
     // this.TreeDataPool.fetchTreeData();
     // this.guid = sessionStorage.guid ? Number(sessionStorage.guid) : this.guid;
@@ -559,7 +558,7 @@
   float: right;
   box-sizing: border-box;
   padding: 10px;
-  background-color: #e9ebf2;
+  background-color: #fff;
   .monitoring-video {
     width: 70.5%;
     //min-width: 800px;
@@ -567,9 +566,7 @@
     max-width: 1208px;
     height: 75%;
     float: left;
-    padding: 0px, 10px 10px 10px;
     box-sizing: border-box;
-    border: 1px solid #e4e7ed;
     // box-shadow: #e4e7ed 0px 0px 9px inset;
     border-radius: 5px;
     .activeItem {
diff --git a/src/pages/desktop/index/components/DFrame.vue b/src/pages/desktop/index/components/DFrame.vue
index 5589cdc..c19e0fc 100644
--- a/src/pages/desktop/index/components/DFrame.vue
+++ b/src/pages/desktop/index/components/DFrame.vue
@@ -7,9 +7,16 @@
   >
     <div class="d-frame-title" v-drag @click="frameClick()">
       <div class="d-frame-title-operation">
-        <i class="el-icon-error d-frame-operation-close" @click="closeFrame()"></i>
-        <i class="el-icon-remove d-frame-operation-minus" @click="minFrame(data)"></i>
-        <i class="el-icon-circle-plus d-frame-operation-full" @click="changeFullScreen()"></i>
+        <i class="icon-minus d-frame-operation-minus" @click="minFrame(data,$event)">
+          <img :src="`${publicPath}images/desktop/header-icon/min.png`" alt="">
+        </i>
+        <i class="icon-screen-toggle d-frame-operation-full" @click="changeFullScreen($event)">
+          <img :src="fullScreen?`${publicPath}images/desktop/header-icon/mini.png`:`${publicPath}images/desktop/header-icon/max.png`" alt="">
+        </i>
+        <i class="icon-close d-frame-operation-close" @click="closeFrame($event)">
+          
+        </i>
+
       </div>
       <slot name="d-frame-title-content">
         <div class="d-frame-title-content">
@@ -42,6 +49,7 @@
   },
   data() {
     return {
+      publicPath: process.env.BASE_URL,
       fullScreen: false,
       width: this.data.width || 1024,
       height: this.data.height || 512,
@@ -64,7 +72,6 @@
   methods: {
     //resize
     mousedown(e) {
-      debugger
       this.resizeObj.mouX = e.clientX;
       this.resizeObj.mouY = e.clientY;
       this.resizeObj.startW = this.width;
@@ -97,7 +104,8 @@
     frameClick: function () {
       this.$store.commit('desktop/refreshFrame', this.data);
     },
-    minFrame: function (data) {
+    minFrame (data,e) {
+      //e.stopPropagation()
       //鎵惧埌褰撳墠鐨刬frame
       let curIframe = Array.from(document.querySelectorAll('iframe')).find(iframe => iframe.src.indexOf(data.url) >= 0);
       //淇濆瓨褰撳墠搴旂敤蹇収
@@ -154,8 +162,8 @@
             toLeft = document.body.getBoundingClientRect().width-40;
           }
           el.parentElement.style.left = toLeft + 'px';
-          if(toTop <= 0 ){
-            toTop = 0
+          if(toTop <= 40 ){
+            toTop = 40
           }else if(toTop >= document.body.getBoundingClientRect().height-40){
             toTop = document.body.getBoundingClientRect().height-40;
           }
@@ -218,21 +226,33 @@
   border-top: 1px solid #d0d0d0;
   border-left: 1px solid #d0d0d0;
   border-right: 1px solid #d0d0d0;
-}
 
+}
+.d-frame-title .icon-close{
+  border-radius: 0 4px 0 0;
+  background:url('/images/desktop/header-icon/close.png') no-repeat 50%;
+}
 .d-frame-title-operation {
   position: absolute;
-  line-height: 30px;
-  left: 5px;
+  top: 0;
+  right: 0;
+  height: 30px;
 }
 
 .d-frame-title-operation i {
-  margin: 0 3px;
   font-size: 18px;
+  display: inline-block;
+  height: 100%;
+  width: 46px;
+  text-align: center;
+  vertical-align: middle;
 }
-
-.d-frame-operation-close {
-  color: red;
+.d-frame-title-operation i:hover{
+  background-color: #c7cacf;
+}
+.d-frame-title-operation .icon-close:hover{
+  background-color: red;
+  background-image: url('/images/desktop/header-icon/close-hover.png')
 }
 
 /* .d-frame-title-operation:hover .d-frame-operation-close::before {
@@ -258,19 +278,22 @@
 .d-frame-title-content {
   line-height: 30px;
   text-align: center;
+  background: #dee1e6;
 }
 
 .d-frame-title-content img {
   width: auto;
   height: 18px;
   position: relative;
-  top: 3px;
+  top: 2px;
   margin-right: 6px;
 }
 
 .d-frame-title-content span {
   position: relative;
   top: -1px;
+  font-size: 15px;
+  color: #777;
   /* font-family: '榛戜綋'; */
 }
 
diff --git a/src/pages/desktop/index/components/NoticeTip.vue b/src/pages/desktop/index/components/NoticeTip.vue
index f6620bd..c000f28 100644
--- a/src/pages/desktop/index/components/NoticeTip.vue
+++ b/src/pages/desktop/index/components/NoticeTip.vue
@@ -47,7 +47,7 @@
 .notice-tip {
   position: absolute;
   right: 10px;
-  top: 40px;
+  top: 50px;
   height: 60px;
   width: 250px;
   background-color: rgba(200, 200, 200, 0.7);
diff --git a/src/pages/desktop/index/components/Tools.vue b/src/pages/desktop/index/components/Tools.vue
index b02a46b..d2e1367 100644
--- a/src/pages/desktop/index/components/Tools.vue
+++ b/src/pages/desktop/index/components/Tools.vue
@@ -7,7 +7,7 @@
       >
         <img class="system" :src="`${publicPath}images/desktop/header-icon/system.png`" />
       </div>
-      <div class="tools-icon">
+      <div class="tools-icon no-hover-style">
         <img class="smart-ai" :src="`${publicPath}images/desktop/header-icon/SmartAI.png`" alt />
       </div>
     </div>
@@ -90,6 +90,7 @@
       })
     },
     dockClick(dock) {
+      debugger
       if (dock.type === "1") {
         window.open(dock.url);
       } else if (dock.type === "2") {
@@ -157,7 +158,6 @@
   color: white;
   background-color: #98aabe;
   border-color: #40c3ff;
-  cursor: pointer;
 }
 .dock-item-wrap a {
   height: 100%;
@@ -187,8 +187,8 @@
   padding: 0 15px;
 }
 
-.tools .tools-icon:hover,
-.tools .tools-icon.clicked {
+.tools .tools-icon:not(.no-hover-style):hover,
+.tools .tools-icon:not(.no-hover-style).clicked {
   color: white;
   background-color: #98aabe;
   cursor: pointer;
diff --git a/src/pages/desktop/index/components/ToolsEntry.vue b/src/pages/desktop/index/components/ToolsEntry.vue
index 164f9c4..1006a0f 100644
--- a/src/pages/desktop/index/components/ToolsEntry.vue
+++ b/src/pages/desktop/index/components/ToolsEntry.vue
@@ -30,22 +30,18 @@
   },
   methods: {
     dockClick(dock) {
+      debugger
       if (dock.type === '1') {
         window.open(dock.url);
-      } else if (dock.type === '2') {
-        let ids = this.$store.getters["desktop/frames"].map(item => item.id);
-        if (ids.indexOf(dock.id) > -1) {
-          this.$store.commit('desktop/resetMinFrame', dock.id);
-          this.resetDockItem();
-          return;
-        }
-
-        let ret = this.$store.dispatch('desktop/addFrame', {
+      } else if (dock.type === '2' && !dock.isOpen) {
+        this.$store.dispatch('desktop/addFrame', {
           id: dock.id,
           icon: dock.src,
           title: dock.name,
           url: dock.url
         });
+      } else if (dock.type === '2' && dock.isOpen) {
+        this.$store.commit('desktop/resetMinFrame', dock.id);
       }
     },
     resetDockItem() {
diff --git a/src/pages/desktop/index/mock/userData.json b/src/pages/desktop/index/mock/userData.json
index 528e319..e2ad73a 100644
--- a/src/pages/desktop/index/mock/userData.json
+++ b/src/pages/desktop/index/mock/userData.json
@@ -9,7 +9,9 @@
         "alt": "GB28181閰嶇疆",
         "type": "2",
         "url": "/view/gb28181",
-        "name": "GB28181閰嶇疆"
+        "name": "GB28181閰嶇疆",
+        "width": 600,
+        "height": 900
       },
       {
         "id": "12",
diff --git a/src/pages/gb28181/index/App.vue b/src/pages/gb28181/index/App.vue
index 1c8fb77..d5db26f 100644
--- a/src/pages/gb28181/index/App.vue
+++ b/src/pages/gb28181/index/App.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="s-basic-setting">
     <!-- GB28181璁剧疆 -->
-    <el-form :model="gb28181" :rules="rules" label-width="140px" class="alarmSetting" ref="gb28181">
+    <el-form :model="gb28181" :rules="rules" label-width="130px" class="alarmSetting" ref="gb28181">
       <!-- <el-form-item label="鍥介檯鏈嶅姟鍣↖P" prop="ServerIp">
             <ip-input :ip="gb28181.ServerIp" @on-blur="gb28181.ServerIp = arguments[0]"></ip-input>
       </el-form-item>-->
@@ -84,11 +84,9 @@
         <el-input v-model="gb28181.Password" placeholder="璇疯緭鍏�" size="small"></el-input>
       </el-form-item>
 
-      <el-col :span="12">
-        <el-form-item>
-          <el-button type="primary" @click="submitGB28281" size="small">淇濆瓨</el-button>
-        </el-form-item>
-      </el-col>
+      <el-form-item>
+        <el-button type="primary" @click="submitGB28281" size="small">淇濆瓨</el-button>
+      </el-form-item>
     </el-form>
   </div>
 </template>
@@ -114,8 +112,10 @@
   },
   data() {
     return {
-      gb28181: {},
-
+      gb28181: {
+        
+      },
+      idType: 1,
       rules: {
         ip: [
           {
@@ -161,16 +161,17 @@
     };
   },
   mounted() {
-    this.$nextTick(() => {
+    //this.$nextTick(()=>{
       this.initGB28181Conf();
-    });
+    //})
   },
   methods: {
     initGB28181Conf() {
       getGB28181Config().then(rsp => {
         if (rsp && rsp.success) {
           this.gb28181 = rsp.data;
-          this.gb28181.idType = 0;
+          //this.gb28181.idType = 0;
+          this.$set(this.gb28181,'idType',0);
         }
       });
       getGb28181AreaList().then(rsp => {
@@ -231,7 +232,6 @@
   height: 100%;
   padding: 0 30px;
   .el-form {
-    width: 1000px;
     margin-top: 30px;
     // margin-left: -80px;
     .el-form-item {
diff --git a/src/pages/library/index/App.vue b/src/pages/library/index/App.vue
index e7f7ab2..5623643 100644
--- a/src/pages/library/index/App.vue
+++ b/src/pages/library/index/App.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="s-base-manage">
-    <div class="flex-box base-overflow" style="margin-top: 10px;height: calc(100% - 20px);">
+    <div class="flex-box base-overflow" >
       <div class="pl20 data-left-box">
         <base-list
           ref="baseSync"
@@ -123,9 +123,7 @@
 </script>
 <style lang="scss" scoped>
 .s-base-manage {
-  width: 100% !important;
   box-sizing: border-box;
-  padding: 5px;
   background-color: #e9ebf2;
 }
 .base-overflow {

--
Gitblit v1.8.0