index.vue 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <template>
  2. <div class="file-wrapper" @dragenter="showUploadMask">
  3. <a-layout class="layout-container">
  4. <a-layout-sider width="auto">
  5. <AsideMenu ref="asideMenu" @onNavigateTo="onNavigateTo"></AsideMenu>
  6. </a-layout-sider>
  7. <a-layout-content>
  8. <a-layout-content class="content-main">
  9. <FileList ref="fileList"></FileList>
  10. </a-layout-content>
  11. </a-layout-content>
  12. </a-layout>
  13. </div>
  14. </template>
  15. <script setup>
  16. import { useMyResourceStore } from '@/store/myResource'
  17. import AsideMenu from './file/AsideMenu.vue'
  18. import FileList from './file/FileList.vue'
  19. const asideMenu = ref(null)
  20. const fileList = ref(null)
  21. const myResourceStore = useMyResourceStore()
  22. // 显示拖拽上传文件遮罩
  23. const showUploadMask = (e) => {
  24. e.stopPropagation()
  25. e.preventDefault()
  26. myResourceStore.toggleUploadMask()
  27. }
  28. const onNavigateTo = (path) => {
  29. fileList.value.navigateTo(path)
  30. }
  31. onMounted(() => {
  32. //开始就有很多列
  33. myResourceStore.changeSelectedColumnList(['extendName', 'fileSize', 'uploadTime', 'deleteTime'])
  34. })
  35. </script>
  36. <style lang="less" scoped>
  37. @import '@/style/myResource/varibles.less';
  38. @import '@/style/myResource/mixins.less';
  39. .file-wrapper {
  40. width: 100% !important;
  41. }
  42. .el-container {
  43. .el-aside {
  44. height: calc(100vh - 61px);
  45. overflow: hidden;
  46. }
  47. }
  48. .el-main {
  49. padding: 0px 16px !important;
  50. overflow: hidden;
  51. }
  52. </style>