2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-07 14:24:04 +08:00
Files
panel/web/src/views/file/IndexView.vue
2025-01-01 17:32:59 +08:00

53 lines
1.5 KiB
Vue

<script setup lang="ts">
defineOptions({
name: 'file-index'
})
import { useFileStore } from '@/store'
import CompressModal from '@/views/file/CompressModal.vue'
import ListTable from '@/views/file/ListTable.vue'
import PathInput from '@/views/file/PathInput.vue'
import PermissionModal from '@/views/file/PermissionModal.vue'
import ToolBar from '@/views/file/ToolBar.vue'
import type { Marked } from '@/views/file/types'
const fileStore = useFileStore()
const selected = ref<string[]>([])
const marked = ref<Marked[]>([])
const markedType = ref<string>('copy')
const compress = ref(false)
const permission = ref(false)
</script>
<template>
<common-page show-footer>
<n-flex vertical :size="20">
<path-input v-model:path="fileStore.path" />
<tool-bar
v-model:path="fileStore.path"
v-model:selected="selected"
v-model:marked="marked"
v-model:markedType="markedType"
v-model:compress="compress"
v-model:permission="permission"
/>
<list-table
v-model:path="fileStore.path"
v-model:selected="selected"
v-model:marked="marked"
v-model:markedType="markedType"
v-model:compress="compress"
v-model:permission="permission"
/>
<compress-modal
v-model:show="compress"
v-model:path="fileStore.path"
v-model:selected="selected"
/>
<permission-modal v-model:show="permission" v-model:selected="selected" />
</n-flex>
</common-page>
</template>