App.vue 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <template>
  2. <el-config-provider :locale="locale">
  3. <RouterView />
  4. </el-config-provider>
  5. </template>
  6. <script lang="ts">
  7. import { defineComponent, nextTick, onBeforeMount, onMounted } from "vue"
  8. import { RouterView } from "vue-router"
  9. import appStore from "@/stores"
  10. import { themeMode } from "@/core/helpers/config"
  11. import { initializeComponents } from "@/core/plugins/keenthemes"
  12. import zhCn from "element-plus/lib/locale/lang/zh-cn"
  13. export default defineComponent({
  14. name: "app",
  15. components: {
  16. RouterView,
  17. },
  18. setup() {
  19. const configBodyStore = appStore.bodyConfigStore
  20. const locale = zhCn
  21. onBeforeMount(() => {
  22. /**
  23. * Overrides the layout config using saved data from localStorage
  24. * remove this to use static config (@/core/config/DefaultLayoutConfig.ts)
  25. */
  26. configBodyStore.overrideLayoutConfig()
  27. /**
  28. * Sets a mode from configuration
  29. */
  30. configBodyStore.setThemeMode(themeMode.value)
  31. })
  32. onMounted(() => {
  33. nextTick(() => {
  34. initializeComponents()
  35. configBodyStore.removeBodyClassName("page-loading")
  36. })
  37. })
  38. return {
  39. locale,
  40. }
  41. },
  42. })
  43. </script>
  44. <style lang="scss">
  45. //@import "bootstrap-icons/font/bootstrap-icons.css";
  46. //@import "apexcharts/dist/apexcharts.css";
  47. //@import "quill/dist/quill.snow.css";
  48. @import "animate.css";
  49. @import "sweetalert2/dist/sweetalert2.css";
  50. //@import "nouislider/distribute/nouislider.css";
  51. @import "@fortawesome/fontawesome-free/css/all.min.css";
  52. //@import "socicon/css/socicon.css";
  53. //@import "line-awesome/dist/line-awesome/css/line-awesome.css";
  54. //@import "dropzone/dist/dropzone.css";
  55. //@import "@vueform/multiselect/themes/default.css";
  56. @import "prism-themes/themes/prism-shades-of-purple.css";
  57. //@import "element-plus/dist/index.css";
  58. // Main demo style scss
  59. @import "assets/fonticon/fonticon.css";
  60. @import "assets/sass/element-ui.dark";
  61. @import "assets/sass/plugins";
  62. @import "assets/sass/style";
  63. #app {
  64. display: contents;
  65. }
  66. </style>