From a51a787a5ecb7d249dba434be74160c85516c555 Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期三, 05 八月 2020 10:25:12 +0800
Subject: [PATCH] minDock高亮显示

---
 src/pages/desktop/index/components/Tools.vue |  197 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 150 insertions(+), 47 deletions(-)

diff --git a/src/pages/desktop/index/components/Tools.vue b/src/pages/desktop/index/components/Tools.vue
index ea2a2b0..7aad07c 100644
--- a/src/pages/desktop/index/components/Tools.vue
+++ b/src/pages/desktop/index/components/Tools.vue
@@ -2,77 +2,131 @@
   <div class="tools">
     <div class="tools-left">
       <div
-        :class="['tools-icon', {clicked:this.$store.state.desktop.preferenceVisiable}]"
+        :class="['tools-icon','tools-show-desktop', {clicked:this.$store.state.desktop.preferenceVisiable}]"
         @click="togglePreference()"
       >
-        <span class="fa fa-apple"></span>
+        <img class="system" :src="`${publicPath}images/desktop/header-icon/system.png`" />
       </div>
-      <div class="tools-icon" @click="openSafari()">
-        <span class="fa fa-safari"></span>
+      <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>
+    <div class="tools-middle">
+      <div v-for="dock in this.$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" :alt="dock.name" />
+        </a>
+      </div>
+    </div>
     <div class="tools-right">
       <div class="tools-icon">
-        <span class="fa fa-battery-full"></span>
+        <img :src="`${publicPath}images/desktop/header-icon/search.png`" alt />
       </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 class="tools-icon">
+        <img :src="`${publicPath}images/desktop/header-icon/help.png`" alt />
       </div>
-      <div class="tools-icon tools-show-desktop">
-        <span>&nbsp;</span>
+      <div class="tools-icon" @click="notificationCenterClick()">
+        <img :src="`${publicPath}images/desktop/header-icon/notice.png`" alt />
+      </div>
+      <div class="tools-icon">
+        <img :src="`${publicPath}images/desktop/header-icon/user.png`" alt />
       </div>
     </div>
   </div>
 </template>
 
 <script>
-import Timer from './Timer';
 
 export default {
   name: "Tools",
-  components: {
-    Timer
-  },
   data() {
     return {
+      publicPath: process.env.BASE_URL,
       notificationCenterVisible: false,
       notificationCenterMessageCount: 0,
-    }
+      maxOrder: 0,
+      maxOrderOne: ''
+    };
   },
   created() {
     let _that = this;
     if (window.toolIntervalArr) {
       window.toolIntervalArr.forEach(item => clearInterval(item));
     }
-    window.toolIntervalArr = [setInterval(function () {
-      _that.notificationCenterMessageCount += 1;
-    }, 600)];
+    window.toolIntervalArr = [
+      setInterval(function () {
+        _that.notificationCenterMessageCount += 1;
+      }, 600)
+    ];
   },
+  // watch:{
+  //   '$store.state.desktop.frames':{
+  //     handler(n,o){
+  //       if(n){
+  //         debugger;
+  //         n.forEach((item,index) => {
+  //           if(item.order >= this.maxOrder){
+  //             this.maxOrderOne = item.id;
+  //           }
+  //         });
+  //       }
+  //     },
+  //     deep: true
+  //   }
+  // },
+  
   methods: {
     notificationCenterClick: function () {
       this.notificationCenterVisible = !this.notificationCenterVisible;
-      this.$store.commit('desktop/changeNotificationCenterVisible',
-        this.notificationCenterVisible);
+      this.$store.commit(
+        "desktop/changeNotificationCenterVisible",
+        this.notificationCenterVisible
+      );
     },
     notificationCenterNoMessage: function () {
       return this.$store.state.desktop.messageNotices.length === 0;
     },
     notificationCenterMessageFlicker: function () {
-      return ((this.notificationCenterMessageCount % 2) === 0)
-        && !this.notificationCenterNoMessage();
+      return (
+        this.notificationCenterMessageCount % 2 === 0 &&
+        !this.notificationCenterNoMessage()
+      );
     },
-    openSafari: function () {
-      this.$store.commit("desktop/openSafari");
+
+    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"
+        });
+      })
     },
-    togglePreference: function () {
-      this.$store.commit("desktop/togglePreference");
+    dockClick(dock) {
+      debugger
+      if (dock.type === "1") {
+        window.open(dock.url);
+      } else if (dock.type === "2") {
+        this.$store.dispatch("desktop/addFrame", {
+          id: dock.id,
+          icon: dock.src,
+          title: dock.name,
+          url: dock.url
+        });
+      } else if (dock.type === "3") {
+        this.$store.commit("desktop/resetMinFrame", dock.id);
+        //鐐瑰嚮鐨刬frame缃《骞堕珮浜�
+        debugger
+        this.$store.commit("desktop/refreshFrame", dock);
+      }
     }
   }
-}
+};
 </script>
 
 <style scoped>
@@ -80,42 +134,91 @@
   width: 100%;
   position: fixed;
   top: 0;
-  height: 30px;
-  line-height: 30px;
-  background-color: rgba(15, 15, 0, 0.4);
+  height: 40px;
+  line-height: 40px;
+  background-color: #d9e5f1;
+  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
   z-index: 120;
-  color: #fff;
+  color: #000;
 }
-
+.tools .center {
+  width: 1300px;
+  height: 40px;
+  margin: auto;
+}
 .tools .tools-left {
   width: 200px;
   height: 100%;
   float: left;
-  margin-left: 8px;
+  margin-left: 14px;
 }
-
+.tools .tools-middle {
+  float: left;
+  position: relative;
+}
+.tools .tools-middle::before {
+  width: 1px;
+  height: 20px;
+  content: "";
+  position: absolute;
+  top: 10px;
+  left: 0;
+  background: rgba(0, 0, 0, 0.2);
+}
+.tools .tools-middle .dock-item-wrap {
+  display: inline-block;
+  padding: 0 10px;
+  height: 38px;
+  line-height: 54px;
+  margin-right: 1px;
+  border-bottom: 2px solid transparent;
+  position: relative;
+}
+.tools .tools-middle .dock-item-wrap:hover{
+  color: white;
+  background-color: #98aabe;
+}
+.tools-middle .dock-item-wrap.actived{
+  border-color: #40c3ff;
+}
+.dock-item-wrap a {
+  height: 100%;
+}
+.dock-item-wrap img {
+  width: auto;
+  height: 70%;
+}
+.dock-item-wrap .dock-shot {
+  visibility: hidden;
+  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;
-  width: 30px;
   height: 100%;
   display: inline-block;
+  vertical-align: top;
+  line-height: 56px;
+  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: rgba(49, 156, 241, 0.71);
+  background-color: #98aabe;
   cursor: pointer;
 }
 
 .tools .tools-right {
   float: right;
   height: 100%;
-}
-
-.tools .tools-right .tools-show-desktop {
-  border-left: grey 1px solid;
-  width: 5px;
-  margin-left: 3px;
+  margin-right: 14px;
 }
 </style>
\ No newline at end of file

--
Gitblit v1.8.0