From b23a2a35a14b010a3b97a1b61a02ec179dfab924 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@iotlink.com>
Date: 星期五, 04 九月 2020 17:25:14 +0800
Subject: [PATCH] feat: sort camera tree

---
 src/pages/desktop/index/components/Tools.vue |  138 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 108 insertions(+), 30 deletions(-)

diff --git a/src/pages/desktop/index/components/Tools.vue b/src/pages/desktop/index/components/Tools.vue
index 72b59ef..8bc66e7 100644
--- a/src/pages/desktop/index/components/Tools.vue
+++ b/src/pages/desktop/index/components/Tools.vue
@@ -5,57 +5,61 @@
         :class="['tools-icon','tools-show-desktop', {clicked:this.$store.state.desktop.preferenceVisiable}]"
         @click="togglePreference()"
       >
-        <img class="system" :src="`${publicPath}images/header-icon/system.png`" />
-        <!-- <span class="fa fa-apple"></span> -->
+        <img class="system" :src="`${publicPath}images/desktop/header-icon/system.png`" />
       </div>
-      <div class="tools-icon">
-        <!-- <span class="fa fa-safari"></span> -->
-        <img class="smart-ai" :src="`${publicPath}images/header-icon/SmartAI.png`" alt />
+      <div class="tools-icon no-hover-style">
+        <img class="smart-ai" :src="`${publicPath}images/desktop/header-icon/SmartAI.png`" alt />
       </div>
     </div>
     <div class="tools-middle">
-      <div v-for="dock in this.$store.state.desktop.minDocks" :key="dock.id" class="dock-item-wrap">
+      <div v-for="dock in $store.state.desktop.minDocks" :key="dock.id" class="dock-item-wrap" :class="{'actived':dock.highlight}" >
         <a @click="dockClick(dock)">
           <img class="dock-item" :src="dock.src" :alt="dock.alt" />
+          <img class="dock-shot" :src="dock.screenshot" v-if="dock.screenshot"/>
+          <!-- <iframe class="dock-shot" :src="dock.url"  ></iframe> -->
         </a>
       </div>
     </div>
     <div class="tools-right">
       <div class="tools-icon">
-        <!-- <span class="fa fa-battery-full"></span> -->
-        <img :src="`${publicPath}images/header-icon/search.png`" alt />
+        <img :src="`${publicPath}images/desktop/header-icon/search.png`" alt />
       </div>
       <div class="tools-icon">
-        <!-- <span class="fa fa-battery-full"></span> -->
-        <img :src="`${publicPath}images/header-icon/help.png`" alt />
+        <img :src="`${publicPath}images/desktop/header-icon/help.png`" alt />
       </div>
       <div class="tools-icon" @click="notificationCenterClick()">
-        <!-- <span class="fa fa-battery-full"></span> -->
-        <img :src="`${publicPath}images/header-icon/notice.png`" alt />
+        <img :src="`${publicPath}images/desktop/header-icon/notice.png`" alt />
       </div>
       <div class="tools-icon">
-        <!-- <span class="fa fa-battery-full"></span> -->
-        <img :src="`${publicPath}images/header-icon/user.png`" alt />
+        <el-dropdown size="small" placement="bottom">
+          <span class="el-dropdown-link">
+            <img :src="`${publicPath}images/desktop/header-icon/user.png`" alt />
+            <!-- <i class="el-icon-arrow-down el-icon--right"></i> -->
+          </span>
+          <el-dropdown-menu slot="dropdown" style='top: 44px;'>
+            <el-dropdown-item @click.native='toLogout'>
+              閫�鍑虹櫥褰�
+            </el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+        
       </div>
-      <!-- <timer></timer> -->
-      <!-- <div class="tools-icon tools-notification-center" @click="notificationCenterClick()">
-          <span
-            :class="['fa', {'fa-list-ul':notificationCenterNoMessage()}, {'fa-comment-o on-new-msg':!notificationCenterNoMessage()},{'fa-commenting-o':notificationCenterMessageFlicker()}]"
-          ></span>
-      </div>-->
     </div>
   </div>
 </template>
 
 <script>
-
+import html2canvas from 'html2canvas';
+import {logout} from "@/api/login";
 export default {
   name: "Tools",
   data() {
     return {
       publicPath: process.env.BASE_URL,
       notificationCenterVisible: false,
-      notificationCenterMessageCount: 0
+      notificationCenterMessageCount: 0,
+      maxOrder: 0,
+      maxOrderOne: ''
     };
   },
   created() {
@@ -69,6 +73,23 @@
       }, 600)
     ];
   },
+  // watch:{
+  //   '$store.state.desktop.frames':{
+  //     handler(n,o){
+  //       if(n){
+  //         ;
+  //         n.forEach((item,index) => {
+  //           if(item.order >= this.maxOrder){
+  //             this.maxOrderOne = item.id;
+  //           }
+  //         });
+  //       }
+  //     },
+  //     deep: true
+  //   }
+  // },
+
+  
   methods: {
     notificationCenterClick: function () {
       this.notificationCenterVisible = !this.notificationCenterVisible;
@@ -90,17 +111,19 @@
     togglePreference() {
       //this.$store.commit("desktop/togglePreference");
       //鏄剧ず妗岄潰,鏈�灏忓寲宸叉墦寮�鐨勫簲鐢�
-      debugger;
+      ;
       this.$store.state.desktop.frames.forEach(frame => {
         this.$store.commit('desktop/addMinDock', {
           id: frame.id,
           src: frame.icon,
           alt: frame.title,
-          type: "3"
+          type: "3",
+          screenshot: ''
         });
       })
     },
     dockClick(dock) {
+      
       if (dock.type === "1") {
         window.open(dock.url);
       } else if (dock.type === "2") {
@@ -112,7 +135,40 @@
         });
       } else if (dock.type === "3") {
         this.$store.commit("desktop/resetMinFrame", dock.id);
+        //鐐瑰嚮鐨刬frame缃《骞堕珮浜�
+        this.$store.commit("desktop/refreshFrame", dock);
       }
+    },
+    toolHover(dock){
+      //this.$parent.screenShot(dock)
+    },
+
+    toLogout(){
+      this.$confirm("鎻愮ず锛氱‘瀹氶��鍑哄悧锛�", {
+        center: true,
+        cancelButtonClass: "comfirm-class-cancle",
+        confirmButtonClass: "comfirm-class-sure"
+      }).then(_ => {
+        logout().then(res => {
+          if (res === "閫�鍑烘垚鍔�") {
+            sessionStorage.removeItem("userInfo");
+            location.assign('/view/index');
+            this.$notify({
+              title: "鎻愮ず",
+              type: "success",
+              message: "閫�鍑烘垚鍔燂紒"
+            });
+          } else {
+            this.$notify({
+              title: "鎻愮ず",
+              type: "success",
+              message: "閫�鍑哄け璐�!"
+            });
+          }
+        });
+      }).catch(_ => {
+        console.log("閫�鍑哄け璐�");
+      });
     }
   }
 };
@@ -145,6 +201,7 @@
   float: left;
   position: relative;
 }
+
 .tools .tools-middle::before {
   width: 1px;
   height: 20px;
@@ -161,13 +218,15 @@
   line-height: 54px;
   margin-right: 1px;
   border-bottom: 2px solid transparent;
+  position: relative;
 }
-.tools .tools-middle .dock-item-wrap:hover,
-.tools .tools-middle .dock-item-wrap.clicked {
+.tools .tools-middle .dock-item-wrap:hover{
   color: white;
   background-color: #98aabe;
+}
+.tools-middle .dock-item-wrap.actived{
   border-color: #40c3ff;
-  cursor: pointer;
+  background-color: #98aabe;
 }
 .dock-item-wrap a {
   height: 100%;
@@ -176,6 +235,19 @@
   width: auto;
   height: 70%;
 }
+.dock-item-wrap .dock-shot {
+  visibility: hidden;
+  /* transform: scale(0.5); */
+  width: 100px;
+  height: 46px;
+  position: absolute;
+  top: 44px;
+  left: -50%;
+}
+.tools .tools-middle .dock-item-wrap:hover .dock-shot,
+.tools .tools-middle .dock-item-wrap.clicked .dock-shot {
+  visibility: visible;
+}
 .tools-icon {
   text-align: center;
   height: 100%;
@@ -183,10 +255,13 @@
   vertical-align: top;
   line-height: 56px;
   padding: 0 15px;
+  
 }
-
-.tools .tools-icon:hover,
-.tools .tools-icon.clicked {
+.tools-icon img{
+  -webkit-user-drag: none;
+}
+.tools .tools-icon:not(.no-hover-style):hover,
+.tools .tools-icon:not(.no-hover-style).clicked {
   color: white;
   background-color: #98aabe;
   cursor: pointer;
@@ -197,4 +272,7 @@
   height: 100%;
   margin-right: 14px;
 }
+.el-dropdown-menu{
+  top: 40px !important;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.8.0