blob: 1acc2b3676de4795a71091ca9da65ce1cf98bac9 [file] [log] [blame]
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<template>
<div>
<div class="layout-header">
<div
class="layout-header-menu-icon"
>
<div class="logo">
<img
class="logo-img"
src=""
:alt="$t('message.common.logoName')"
>
<span class="version">{{sysVersion}}</span>
</div>
</div>
<div
v-clickoutside="handleOutsideClick"
:class="{'selected': isUserMenuShow}"
class="user"
@click="handleUserClick"
>
<span>{{ userName }}</span>
<Icon v-show="!isUserMenuShow" type="ios-arrow-down" class="user-icon"/>
<Icon v-show="isUserMenuShow" type="ios-arrow-up" class="user-icon"/>
<userMenu v-show="isUserMenuShow" @clear-session="clearSession"/>
</div>
<ul class="menu">
<li class="menu-item" @click="goConsole">{{$t("message.common.management")}}</li>
</ul>
<div class="icon-group">
<Icon
v-if="isSandbox"
:title="$t('message.common.home')"
class="book"
type="ios-chatboxes"
@click="linkTo('freedback')"
></Icon>
</div>
</div>
</div>
</template>
<script>
import userMenu from "./userMenu.vue";
import clickoutside from "@/common/helper/clickoutside";
import mixin from '@/common/service/mixin';
import util from '@/common/util';
export default {
directives: {
clickoutside
},
components: {
userMenu
},
data() {
return {
sysVersion: process.env.VUE_APP_VERSION,
isUserMenuShow: false,
userName: "",
isSandbox: process.env.NODE_ENV === "sandbox",
};
},
mixins: [mixin],
created() {
this.init();
},
methods: {
init() {
},
handleOutsideClick() {
this.isUserMenuShow = false;
},
handleUserClick() {
this.isUserMenuShow = !this.isUserMenuShow;
},
clearSession() {
this.$emit("clear-session");
},
linkTo(type) {
let url = "";
if (type === "book") {
url = `https://github.com/WeBankFinTech/DataSphereStudio/blob/master/docs/zh_CN/ch3/DSS_User_Manual.md`;
} else if (type === "github") {
url = `https://github.com/WeBankFinTech/DataSphereStudio`;
} else if (type === "freedback") {
url = "https://wj.qq.com/s2/4943071/c037/ ";
if (localStorage.getItem("locale") === "en") {
url = "https://wj.qq.com/s2/4943706/5a8b";
}
}
util.windowOpen(url);
},
goConsole(){
this.$router.push({path: '/console',query: Object.assign({}, this.$route.query)});
},
goRolesPath() {
// 根据接口getWorkspaceBaseInfo渲染跳转不同路径
this.$router.push({path: this.homeRoles.path, query: Object.assign({}, this.$route.query)});
},
}
};
</script>
<style lang="scss" scoped src="./index.scss"></style>