|
|
@@ -1,23 +1,23 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
<el-row
|
|
|
- class="flex flex-align-center flex-justify-between top"
|
|
|
- :class="dataType === 'project' ? 'bread' : 'bread-g'"
|
|
|
+ class="flex flex-align-center flex-justify-between top"
|
|
|
+ :class="dataType === 'project' ? 'bread' : 'bread-g'"
|
|
|
>
|
|
|
<el-col :span="12">
|
|
|
<div class="flex flex-justify-start flex-align-center padding">
|
|
|
<el-button
|
|
|
- icon="Menu"
|
|
|
- class="mr-20 white"
|
|
|
- circle
|
|
|
- color="#C1C4CB"
|
|
|
- @click="openMenu"
|
|
|
- v-if="mini && showMenu"
|
|
|
+ icon="Menu"
|
|
|
+ class="mr-20 white"
|
|
|
+ circle
|
|
|
+ color="#C1C4CB"
|
|
|
+ @click="openMenu"
|
|
|
+ v-if="mini && showMenu"
|
|
|
/>
|
|
|
<router-link to="/">
|
|
|
<div class="flex flex-center">
|
|
|
- <img v-if="dataType === 'project'" src="@/assets/svg/logo.svg"/>
|
|
|
- <img v-else src="@/assets/svg/logo-white.svg"/>
|
|
|
+ <img v-if="dataType === 'project'" src="@/assets/svg/logo.svg" />
|
|
|
+ <img v-else src="@/assets/svg/logo-white.svg" />
|
|
|
</div>
|
|
|
</router-link>
|
|
|
</div>
|
|
|
@@ -25,8 +25,8 @@
|
|
|
<el-col :span="12">
|
|
|
<div class="flex-child-average flex-justify-end flex padding-right">
|
|
|
<div
|
|
|
- class="padding flex flex-align-center pointer"
|
|
|
- :class="dataType === 'project' ? 'black' : 'white'"
|
|
|
+ class="padding flex flex-align-center pointer"
|
|
|
+ :class="dataType === 'project' ? 'black' : 'white'"
|
|
|
>
|
|
|
<!-- <el-button-->
|
|
|
<!-- icon="Search"-->
|
|
|
@@ -36,24 +36,24 @@
|
|
|
<!-- />-->
|
|
|
|
|
|
<el-badge
|
|
|
- :value="msgCount"
|
|
|
- :max="99"
|
|
|
- class="ml-20"
|
|
|
- :hidden="msgCount === null || msgCount === 0"
|
|
|
+ :value="msgCount"
|
|
|
+ :max="99"
|
|
|
+ class="ml-20"
|
|
|
+ :hidden="msgCount === null || msgCount === 0"
|
|
|
>
|
|
|
<el-button
|
|
|
- icon="Bell"
|
|
|
- circle
|
|
|
- color="#C1C4CB"
|
|
|
- @click="$router.push('/msg')"
|
|
|
+ icon="Bell"
|
|
|
+ circle
|
|
|
+ color="#C1C4CB"
|
|
|
+ @click="$router.push('/msg')"
|
|
|
/>
|
|
|
</el-badge>
|
|
|
</div>
|
|
|
<div class="padding flex flex-align-center pointer">
|
|
|
<el-avatar
|
|
|
- class="mr-10"
|
|
|
- :size="30"
|
|
|
- :src="
|
|
|
+ class="mr-10"
|
|
|
+ :size="30"
|
|
|
+ :src="
|
|
|
user.info.avatarUrl && user.info.avatarUrl.length > 0
|
|
|
? user.info.avatarUrl
|
|
|
: 'https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png'
|
|
|
@@ -63,13 +63,17 @@
|
|
|
<span class="flex flex-center">
|
|
|
{{ user.info.userName }} / {{ user.info.deptName }}
|
|
|
<el-icon class="el-icon--right">
|
|
|
- <arrow-down/>
|
|
|
+ <arrow-down />
|
|
|
</el-icon>
|
|
|
</span>
|
|
|
<template #dropdown>
|
|
|
<el-dropdown-menu>
|
|
|
<el-dropdown-item command="info">个人中心</el-dropdown-item>
|
|
|
- <el-dropdown-item command="manage">用户管理</el-dropdown-item>
|
|
|
+ <el-dropdown-item
|
|
|
+ command="manage"
|
|
|
+ v-if="permission.vaildPermission('user_manger')"
|
|
|
+ >用户管理</el-dropdown-item
|
|
|
+ >
|
|
|
<el-dropdown-item command="logout">退出登录</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</template>
|
|
|
@@ -78,25 +82,25 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <search :show="show" @close="show = false"/>
|
|
|
+ <search :show="show" @close="show = false" />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import navStore from '../store/nav.js'
|
|
|
-import {useStore} from '../store/user.js'
|
|
|
+import { useStore } from '../store/user.js'
|
|
|
import permissionStore from '@/store/permission.js'
|
|
|
import search from './search/index.vue'
|
|
|
import config from '../config/website.js'
|
|
|
|
|
|
export default {
|
|
|
name: 'top',
|
|
|
- components: {search},
|
|
|
+ components: { search },
|
|
|
setup() {
|
|
|
const nav = navStore()
|
|
|
const user = useStore()
|
|
|
const permission = permissionStore()
|
|
|
- return {nav, user, permission}
|
|
|
+ return { nav, user, permission }
|
|
|
},
|
|
|
props: {
|
|
|
showMenu: {
|
|
|
@@ -189,9 +193,9 @@ export default {
|
|
|
},
|
|
|
initWebSocket() {
|
|
|
const wsuri =
|
|
|
- location.host.indexOf('dev') > -1
|
|
|
- ? 'wss://dev.wutongshucloud.com/ws/websocket/' + this.user.info.userId
|
|
|
- : config.wss + this.user.info.userId
|
|
|
+ location.host.indexOf('dev') > -1
|
|
|
+ ? 'wss://dev.wutongshucloud.com/ws/websocket/' + this.user.info.userId
|
|
|
+ : config.wss + this.user.info.userId
|
|
|
this.websock = new WebSocket(wsuri)
|
|
|
this.websock.onmessage = this.websocketonmessage
|
|
|
// 连接建立时触发
|
|
|
@@ -364,7 +368,7 @@ export default {
|
|
|
},
|
|
|
getTotal() {
|
|
|
this.resultCount = 0
|
|
|
- this.$api.project.total({keyword: this.params.keyword}).then(res => {
|
|
|
+ this.$api.project.total({ keyword: this.params.keyword }).then(res => {
|
|
|
if (res.code === 200) {
|
|
|
this.type[0].count = res.data.projectTotal
|
|
|
this.type[1].count = res.data.fileTotal
|