123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import { NTabPane, NTabs } from 'naive-ui'
- import { defineComponent, reactive } from 'vue'
- import MusicList from './component/music-list'
- import { useRoute } from 'vue-router'
- import { getTabsCache, setTabsCaches } from '@/hooks/use-async'
- import MusicSheetCategoriesList from '@views/music-library/music-sheet/component/music-sheet-categories-list'
- export default defineComponent({
- name: 'music-sheet',
- setup() {
- const state = reactive({
- tabName: 'MusicList' as 'MusicList' | 'TagList' | 'CategroryList',
- searchId: null,
- musicCategoryId: null
- })
- const route = useRoute()
- getTabsCache((val: any) => {
- if (val.form.tabName) {
- state.tabName = val.form.tabName
- }
- })
- const setTabName = (val: any) => {
- console.log('setTabName', val)
- state.tabName = val.tabName
- state.searchId = val.id
- }
- const setTabs = (val: any) => {
- setTabsCaches(val, 'tabName', route)
- }
- return () => {
- return (
- <div class="system-menu-container">
- <div class={['section-container']} style="padding-top: 0">
- <NTabs
- type="line"
- size="large"
- v-model:value={state.tabName}
- onUpdate:value={(val: any) => setTabs(val)}
- >
- <NTabPane name="MusicList" tab="曲目列表" v-auth="musicSheet/page1751238894313013249">
- <MusicList searchId={state.searchId} musicCategoryId={state.musicCategoryId} />
- </NTabPane>
- <NTabPane
- name="CategroryList"
- tab="曲目分类"
- v-auth="musicSheetCategories/queryTree1751238805699952641"
- >
- <MusicSheetCategoriesList
- onSetTabName={setTabName}
- onJump={(param: any) => {
- state.tabName = param.tabName
- state.musicCategoryId = param.musicCategoryId
- }}
- />
- {/*<TagList />*/}
- </NTabPane>
- </NTabs>
- </div>
- </div>
- )
- }
- }
- })
|