SettingMenu.vue 2.9 KB
Newer Older
C
Captain.B 已提交
1
<template>
C
Captain.B 已提交
2 3
  <el-menu menu-trigger="click" :default-active="$route.path" router>
    <el-submenu index="1" v-permission="['admin']">
C
chenjianxing 已提交
4
      <template v-slot:title>
C
Captain.B 已提交
5
        <font-awesome-icon class="icon account" :icon="['far', 'address-card']" size="lg"/>
C
i18n  
Captain.B 已提交
6
        <span>{{$t('commons.system')}}</span>
C
Captain.B 已提交
7
      </template>
C
i18n  
Captain.B 已提交
8 9 10 11
      <el-menu-item index="/setting/user">{{$t('commons.user')}}</el-menu-item>
      <el-menu-item index="/setting/organization">{{$t('commons.organization')}}</el-menu-item>
      <el-menu-item index="/setting/systemworkspace">{{$t('commons.workspace')}}</el-menu-item>
      <el-menu-item index="/setting/testresourcepool">{{$t('commons.test_resource_pool')}}</el-menu-item>
W
wenyann 已提交
12
      <el-menu-item index="/setting/systemparametersetting">{{$t('commons.system_parameter_setting')}}</el-menu-item>
C
Captain.B 已提交
13
    </el-submenu>
S
shiziyuan9527 已提交
14

C
Captain.B 已提交
15
    <el-submenu index="2" v-permission="['org_admin']" v-if="isCurrentOrganizationAdmin">
C
chenjianxing 已提交
16
      <template v-slot:title>
C
icon  
Captain.B 已提交
17
        <font-awesome-icon class="icon organization" :icon="['far', 'building']" size="lg"/>
C
i18n  
Captain.B 已提交
18
        <span>{{$t('commons.organization')}}</span>
S
shiziyuan9527 已提交
19
      </template>
C
i18n  
Captain.B 已提交
20 21 22 23
      <el-menu-item index="/setting/organizationmember" v-permission="['org_admin']">{{$t('commons.member')}}
      </el-menu-item>
      <el-menu-item index="/setting/organizationworkspace" v-permission="['org_admin']">{{$t('commons.workspace')}}
      </el-menu-item>
S
shiziyuan9527 已提交
24 25
    </el-submenu>

C
Captain.B 已提交
26
    <el-submenu index="3" v-permission="['test_manager','test_user','test_viewer']" v-if="isCurrentWorkspaceUser">
C
chenjianxing 已提交
27
      <template v-slot:title>
C
icon  
Captain.B 已提交
28
        <font-awesome-icon class="icon workspace" :icon="['far', 'list-alt']" size="lg"/>
C
i18n  
Captain.B 已提交
29
        <span>{{$t('commons.workspace')}}</span>
C
Captain.B 已提交
30
      </template>
C
i18n  
Captain.B 已提交
31
      <el-menu-item index="/setting/member">{{$t('commons.member')}}</el-menu-item>
C
chenjianxing 已提交
32
      <el-menu-item index="/setting/testcase/report/template">测试报告模版</el-menu-item>
C
Captain.B 已提交
33
    </el-submenu>
S
shiziyuan9527 已提交
34 35

    <el-submenu index="4">
C
chenjianxing 已提交
36
      <template v-slot:title>
C
Captain.B 已提交
37
        <font-awesome-icon class="icon" :icon="['far', 'user']" size="lg"/>
C
i18n  
Captain.B 已提交
38
        <span>{{$t('commons.personal_info')}}</span>
C
Captain.B 已提交
39
      </template>
C
i18n  
Captain.B 已提交
40
      <el-menu-item index="/setting/personsetting">{{$t('commons.personal_setting')}}</el-menu-item>
C
Captain.B 已提交
41
    </el-submenu>
S
shiziyuan9527 已提交
42

C
Captain.B 已提交
43
  </el-menu>
C
Captain.B 已提交
44 45 46
</template>

<script>
C
Captain.B 已提交
47
  import {checkoutCurrentOrganization, checkoutCurrentWorkspace} from "../../../common/js/utils";
C
Captain.B 已提交
48

C
Captain.B 已提交
49
  export default {
C
Captain.B 已提交
50 51 52 53 54 55 56 57 58 59 60
    name: "MsSettingMenu",
    data() {
      return {
        isCurrentOrganizationAdmin: false,
        isCurrentWorkspaceUser: false,
      }
    },
    mounted() {
      this.isCurrentOrganizationAdmin = checkoutCurrentOrganization();
      this.isCurrentWorkspaceUser = checkoutCurrentWorkspace();
    },
C
Captain.B 已提交
61
  }
C
Captain.B 已提交
62 63 64
</script>

<style scoped>
C
Captain.B 已提交
65 66 67
  .el-menu {
    border-right: 0;
  }
C
Captain.B 已提交
68

C
Captain.B 已提交
69 70 71 72
  .el-menu-item {
    height: 40px;
    line-height: 40px;
  }
C
Captain.B 已提交
73

C
Captain.B 已提交
74 75 76 77
  .icon {
    width: 24px;
    margin-right: 10px;
  }
C
Captain.B 已提交
78

C
Captain.B 已提交
79 80 81
  .account {
    color: #5a78f0;
  }
C
Captain.B 已提交
82

C
icon  
Captain.B 已提交
83 84 85 86
  .organization {
    color: #b33a5b;
  }

C
Captain.B 已提交
87 88 89
  .workspace {
    color: #44b349;
  }
C
Captain.B 已提交
90
</style>