Commit 5cdaaa78 authored by BO ZHANG's avatar BO ZHANG 🏀
Browse files

feat(frontend): 扩展侧边栏导航菜单项

parent da96f87a
Loading
Loading
Loading
Loading
+32 −9
Original line number Diff line number Diff line
@@ -17,12 +17,27 @@
        background-color="transparent"
        text-color="#A0A0A0"
        active-text-color="#FFFFFF"
        class="border-none flex-1 py-4 teamcity-vertical-menu"
        class="border-none flex-1 py-2 teamcity-vertical-menu overflow-y-auto"
      >
        <div class="px-5 py-2 mt-2 text-[10px] font-bold text-[#6B7280] uppercase tracking-wider">Data</div>
        <el-menu-item index="plan" disabled class="opacity-50 cursor-not-allowed group" title="Plan module is under development">
          <el-icon :size="20" class="font-bold"><Calendar /></el-icon>
          <span class="text-[15px] font-bold ml-2">Plan</span>
        </el-menu-item>
        <el-menu-item index="data" disabled class="opacity-50 cursor-not-allowed group" title="Data module is under development">
          <el-icon :size="20" class="font-bold"><Folder /></el-icon>
          <span class="text-[15px] font-bold ml-2">Data</span>
        </el-menu-item>
        <el-menu-item index="catalogs" disabled class="opacity-50 cursor-not-allowed group" title="Catalogs module is under development">
          <el-icon :size="20" class="font-bold"><Notebook /></el-icon>
          <span class="text-[15px] font-bold ml-2">Catalogs</span>
        </el-menu-item>
        <el-menu-item index="ccds" disabled class="opacity-50 cursor-not-allowed group" title="CCDS module is under development">
          <el-icon :size="20" class="font-bold"><Picture /></el-icon>
          <span class="text-[15px] font-bold ml-2">CCDS</span>
        </el-menu-item>

        <div class="px-5 py-2 mt-4 text-[10px] font-bold text-[#6B7280] uppercase tracking-wider">Execution</div>
        <el-menu-item index="tasks">
          <el-icon :size="20" class="font-bold"><Monitor /></el-icon>
          <span class="text-[15px] font-bold ml-2">Tasks</span>
@@ -35,22 +50,24 @@
          <el-icon :size="20" class="font-bold"><Cpu /></el-icon>
          <span class="text-[15px] font-bold ml-2">Workers</span>
        </el-menu-item>

        <div class="px-5 py-2 mt-4 text-[10px] font-bold text-[#6B7280] uppercase tracking-wider">Management</div>
        <el-menu-item index="env">
          <el-icon :size="20" class="font-bold"><Document /></el-icon>
          <span class="text-[15px] font-bold ml-2">ENV</span>
          <span class="text-[15px] font-bold ml-2">Envvars</span>
        </el-menu-item>
        <el-menu-item index="grafana">
          <el-icon :size="20" class="font-bold"><DataLine /></el-icon>
          <span class="text-[15px] font-bold ml-2">Grafana</span>
        </el-menu-item>
        <el-menu-item index="admin" v-if="userRole === 'admin'">
          <el-icon :size="20" class="font-bold"><Setting /></el-icon>
          <span class="text-[15px] font-bold ml-2">Admin</span>
        </el-menu-item>
        <el-menu-item index="airflow">
          <el-icon :size="20" class="font-bold"><Position /></el-icon>
          <span class="text-[15px] font-bold ml-2">Airflow</span>
        </el-menu-item>
        <el-menu-item index="admin" v-if="userRole === 'admin'">
          <el-icon :size="20" class="font-bold"><Setting /></el-icon>
          <span class="text-[15px] font-bold ml-2">Admin</span>
        </el-menu-item>
      </el-menu>

      <!-- Bottom Actions -->
@@ -522,7 +539,7 @@ import DagsView from './components/DagsView.vue'
import WorkersView from './components/WorkersView.vue'
import EnvView from './components/EnvView.vue'
import axios from 'axios'
import { Monitor, DataLine, Search, Filter, Document, Clock, Close, Loading, Select, CircleClose, VideoPlay, Warning, Back, Refresh, Folder, ArrowRight, ArrowLeft, QuestionFilled, List, Cpu, Setting, SwitchButton, Position } from '@element-plus/icons-vue'
import { Monitor, DataLine, Search, Filter, Document, Clock, Close, Loading, Select, CircleClose, VideoPlay, Warning, Back, Refresh, Folder, ArrowRight, ArrowLeft, QuestionFilled, List, Cpu, Setting, SwitchButton, Position, Calendar, Notebook, Picture } from '@element-plus/icons-vue'
import { ElMessage } from 'element-plus'

axios.interceptors.response.use(
@@ -627,8 +644,14 @@ const logsLoading = ref(false)

// Methods
const handleSelect = (key: string) => {
  if (key === 'data') {
    ElMessage.info('Data module is currently under development.')
  if (['plan', 'data', 'catalogs', 'ccds'].includes(key)) {
    const names: Record<string, string> = {
      'plan': 'Plan',
      'data': 'Data',
      'catalogs': 'Catalogs',
      'ccds': 'CCDS'
    }
    ElMessage.info(`${names[key]} module is currently under development.`)
    return
  }
  if (key === 'airflow') {

ccds @ cb17e629

Original line number Diff line number Diff line
Subproject commit cb17e6295bf5a9e28c505334a5308547029b1284

ccds-server @ 301555ad

Original line number Diff line number Diff line
Subproject commit 301555ad25218f63087868652aa7623ce306b6e7

csst-csu-exchange @ a4d73e97

Original line number Diff line number Diff line
Subproject commit a4d73e97c8555a484288fc506792dad96f8bdef5

csst-dfs-client @ 2a5724e7

Original line number Diff line number Diff line
Subproject commit 2a5724e7d7bcdf0da257511beaea3cae24b4424b
Loading