index.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <template>
  2. <!-- <Drawer
  3. v-if="getIsMobile && getShowSidebar"
  4. placement="left"
  5. :class="prefixCls"
  6. :width="getMenuWidth"
  7. :getContainer="null"
  8. :visible="!getCollapsed"
  9. @close="handleClose"
  10. >
  11. <Sider />
  12. </Drawer>
  13. <MixSider v-else-if="getIsMixSidebar" />
  14. <BottomSider v-else-if="getIsBottomMenu" />
  15. <Sider v-else /> -->
  16. <BottomSider />
  17. </template>
  18. <script lang="ts">
  19. import { defineComponent } from 'vue';
  20. import Sider from './LayoutSider.vue';
  21. import MixSider from './MixSider.vue';
  22. import BottomSider from './bottomSideder.vue';
  23. import { Drawer } from 'ant-design-vue';
  24. import { useAppInject } from '/@/hooks/web/useAppInject';
  25. import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
  26. import { useDesign } from '/@/hooks/web/useDesign';
  27. export default defineComponent({
  28. name: 'SiderWrapper',
  29. components: { Sider, Drawer, MixSider, BottomSider },
  30. setup() {
  31. const { prefixCls } = useDesign('layout-sider-wrapper');
  32. const { getIsMobile } = useAppInject();
  33. const { setMenuSetting, getCollapsed, getMenuWidth, getIsMixSidebar, getIsBottomMenu, getIsBottomMenuH, getShowSidebar } = useMenuSetting();
  34. function handleClose() {
  35. setMenuSetting({
  36. collapsed: true,
  37. });
  38. }
  39. return { prefixCls, getIsMobile, getCollapsed, handleClose, getMenuWidth, getIsMixSidebar, getIsBottomMenu, getIsBottomMenuH, getShowSidebar, };
  40. },
  41. });
  42. </script>
  43. <style lang="less">
  44. @prefix-cls: ~'@{namespace}-layout-sider-wrapper';
  45. .@{prefix-cls} {
  46. .ant-drawer-body {
  47. height: 100vh;
  48. padding: 0;
  49. }
  50. .ant-drawer-header-no-title {
  51. display: none;
  52. }
  53. }
  54. </style>