77 lines
1.9 KiB
Vue
77 lines
1.9 KiB
Vue
<template>
|
|
<t-layout class="main-layout">
|
|
<t-aside>
|
|
<t-menu theme="light" default-value="General" :collapsed="collapsed" @change="changeHandler">
|
|
<template #logo>
|
|
<span style="font-size: larger">{{ collapsed? "PSH" : "Proxy Subscribe Hub" }}</span>
|
|
</template>
|
|
<t-menu-item value="General">
|
|
<template #icon>
|
|
<app-icon />
|
|
</template>
|
|
总览
|
|
</t-menu-item>
|
|
<!-- <t-menu-item value="item2">节点管理</t-menu-item> -->
|
|
<template #operations>
|
|
<t-button
|
|
variant="text"
|
|
shape="square"
|
|
theme="default"
|
|
@click="collapsed = !collapsed;"
|
|
style="background-color: #fff"
|
|
>
|
|
<view-list-icon />
|
|
</t-button>
|
|
</template>
|
|
</t-menu>
|
|
</t-aside>
|
|
<t-layout>
|
|
<t-content style="overflow: auto">
|
|
<div>
|
|
<General
|
|
@toSubscribeItem="(url, name) => toSubscribeItem(url, name)"
|
|
v-if="menuValue === 'General'"
|
|
/>
|
|
<SubscribeItem
|
|
@backToGeneral="menuValue = 'General'"
|
|
:propsData="Url"
|
|
:name="Name"
|
|
v-if="menuValue === 'SubscribeItem'"
|
|
/>
|
|
</div>
|
|
</t-content>
|
|
</t-layout>
|
|
</t-layout>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.main-layout {
|
|
height: 100vh;
|
|
width: 100vw;
|
|
}
|
|
</style>
|
|
|
|
<script setup>
|
|
import General from "./General.vue";
|
|
import SubscribeItem from "./SubscribeItem.vue";
|
|
import { ref } from "vue";
|
|
import { ViewListIcon, AppIcon } from "tdesign-icons-vue-next";
|
|
|
|
const menuValue = ref("General");
|
|
const collapsed = ref(false);
|
|
let Url = "";
|
|
let Name = "";
|
|
|
|
function changeHandler(active) {
|
|
console.log(active);
|
|
menuValue.value = active;
|
|
}
|
|
|
|
function toSubscribeItem(url, name) {
|
|
// console.log(url);
|
|
Url = url;
|
|
Name = name;
|
|
menuValue.value = "SubscribeItem";
|
|
}
|
|
</script>
|