From 4fdf30ac34dfa971b68d555ad3b35ef377909f7f Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期四, 17 九月 2020 14:24:38 +0800
Subject: [PATCH] 数据可视化页面样式调整
---
src/pages/desktop/index/components/Tools.vue | 210 ++++++++++++++++++++++++++++++++++-----------------
1 files changed, 139 insertions(+), 71 deletions(-)
diff --git a/src/pages/desktop/index/components/Tools.vue b/src/pages/desktop/index/components/Tools.vue
index a874279..8bc66e7 100644
--- a/src/pages/desktop/index/components/Tools.vue
+++ b/src/pages/desktop/index/components/Tools.vue
@@ -1,72 +1,65 @@
<template>
<div class="tools">
- <div class="center">
- <div class="tools-left">
- <div
- :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> -->
- </div>
- <div class="tools-icon" >
- <!-- <span class="fa fa-safari"></span> -->
- <img class="smart-ai" :src="`${publicPath}images/header-icon/SmartAI.png`" alt />
- </div>
+ <div class="tools-left">
+ <div
+ :class="['tools-icon','tools-show-desktop', {clicked:this.$store.state.desktop.preferenceVisiable}]"
+ @click="togglePreference()"
+ >
+ <img class="system" :src="`${publicPath}images/desktop/header-icon/system.png`" />
</div>
- <div class="tools-middle">
- <div
- v-for="dock in this.$store.state.desktop.minDocks"
- :key="dock.id"
- class="dock-item-wrap"
-
- >
- <a @click="dockClick(dock)">
- <img class="dock-item" :src="dock.src" :alt="dock.alt" />
- </a>
- </div>
+ <div class="tools-icon no-hover-style">
+ <img class="smart-ai" :src="`${publicPath}images/desktop/header-icon/SmartAI.png`" alt />
</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 />
- </div>
- <div class="tools-icon">
- <!-- <span class="fa fa-battery-full"></span> -->
- <img :src="`${publicPath}images/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 />
- </div>
- <div class="tools-icon">
- <!-- <span class="fa fa-battery-full"></span> -->
- <img :src="`${publicPath}images/header-icon/user.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> -->
+ </div>
+ <div class="tools-middle">
+ <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">
+ <img :src="`${publicPath}images/desktop/header-icon/search.png`" alt />
+ </div>
+ <div class="tools-icon">
+ <img :src="`${publicPath}images/desktop/header-icon/help.png`" alt />
+ </div>
+ <div class="tools-icon" @click="notificationCenterClick()">
+ <img :src="`${publicPath}images/desktop/header-icon/notice.png`" alt />
+ </div>
+ <div class="tools-icon">
+ <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>
</div>
</div>
</template>
<script>
-import Timer from "./Timer";
-
+import html2canvas from 'html2canvas';
+import {logout} from "@/api/login";
export default {
name: "Tools",
- components: {
- Timer
- },
data() {
return {
publicPath: process.env.BASE_URL,
notificationCenterVisible: false,
- notificationCenterMessageCount: 0
+ notificationCenterMessageCount: 0,
+ maxOrder: 0,
+ maxOrderOne: ''
};
},
created() {
@@ -75,23 +68,40 @@
window.toolIntervalArr.forEach(item => clearInterval(item));
}
window.toolIntervalArr = [
- setInterval(function() {
+ setInterval(function () {
_that.notificationCenterMessageCount += 1;
}, 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() {
+ notificationCenterClick: function () {
this.notificationCenterVisible = !this.notificationCenterVisible;
this.$store.commit(
"desktop/changeNotificationCenterVisible",
this.notificationCenterVisible
);
},
- notificationCenterNoMessage: function() {
+ notificationCenterNoMessage: function () {
return this.$store.state.desktop.messageNotices.length === 0;
},
- notificationCenterMessageFlicker: function() {
+ notificationCenterMessageFlicker: function () {
return (
this.notificationCenterMessageCount % 2 === 0 &&
!this.notificationCenterNoMessage()
@@ -101,17 +111,19 @@
togglePreference() {
//this.$store.commit("desktop/togglePreference");
//鏄剧ず妗岄潰,鏈�灏忓寲宸叉墦寮�鐨勫簲鐢�
- debugger;
- this.$store.state.desktop.frames.forEach(frame=>{
+ ;
+ 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") {
@@ -123,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("閫�鍑哄け璐�");
+ });
}
}
};
@@ -150,16 +195,17 @@
width: 200px;
height: 100%;
float: left;
- margin-left: 8px;
+ margin-left: 14px;
}
-.tools .tools-middle{
+.tools .tools-middle {
float: left;
position: relative;
}
-.tools .tools-middle::before{
+
+.tools .tools-middle::before {
width: 1px;
height: 20px;
- content: '';
+ content: "";
position: absolute;
top: 10px;
left: 0;
@@ -172,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;
- border-color: #40C3FF;
- cursor: pointer;
+}
+.tools-middle .dock-item-wrap.actived{
+ border-color: #40c3ff;
+ background-color: #98aabe;
}
.dock-item-wrap a {
height: 100%;
@@ -187,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%;
@@ -194,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;
@@ -206,5 +270,9 @@
.tools .tools-right {
float: right;
height: 100%;
+ margin-right: 14px;
+}
+.el-dropdown-menu{
+ top: 40px !important;
}
</style>
\ No newline at end of file
--
Gitblit v1.8.0