From 0187673aed8ba72058ee74fbb7538cf040a43606 Mon Sep 17 00:00:00 2001 From: hanbaoshan <hanbaoshan@aiotlink.com> Date: 星期四, 23 七月 2020 20:09:07 +0800 Subject: [PATCH] 桌面添加交互(打开/最小化应用,显示桌面最小化已打开的应用,显示隐藏通知) --- src/pages/desktop/index/components/ToolsEntry.vue | 35 ++++++++++++++++++++++++++++++++--- 1 files changed, 32 insertions(+), 3 deletions(-) diff --git a/src/pages/desktop/index/components/ToolsEntry.vue b/src/pages/desktop/index/components/ToolsEntry.vue index adbba7c..ea7b7cd 100644 --- a/src/pages/desktop/index/components/ToolsEntry.vue +++ b/src/pages/desktop/index/components/ToolsEntry.vue @@ -2,12 +2,12 @@ <div class="tools-entry"> <div class="entry-wrap"> <div class="app-list clearFix"> - <div class="app" v-for="(item,index) in applist" :key="index"> + <div class="app" v-for="dock in this.$store.state.desktop.docks" :key="dock.id" @click="dockClick(dock)"> <div class="wrap"> <div class="app-icon"> - <img :src="item.src" alt=""> + <img :src="dock.src" :alt="dock.alt"> </div> - <div class="app-name">{{item.name}}</div> + <div class="app-name">{{dock.name}}</div> </div> </div> </div> @@ -42,6 +42,35 @@ {src: `/images/app-mid/vindicate.png`, name:'绯荤粺缁存姢'} ] } + }, + methods:{ + + dockClick(dock) { + 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); + this.resetDockItem(); + } + }, + resetDockItem() { + const dockItems = document.getElementsByClassName('dock-item'); + const dockMask = document.getElementsByClassName('dock-mask')[0]; + for (let i = 0; i < dockItems.length; i++) { + dockItems[i].width = 60; + if (dockItems[i].parentNode.nextElementSibling) { + dockItems[i].parentNode.nextElementSibling.style.marginLeft = "-35px"; + } + } + dockMask.style.width = dockItems.length * 60 + 40 + 'px'; + }, } }; </script> -- Gitblit v1.8.0