index.vue 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <template>
  2. <div class="box">
  3. <el-container style="height: 100%">
  4. <el-aside>
  5. <NavbarItem></NavbarItem>
  6. </el-aside>
  7. <el-container>
  8. <el-header>
  9. <Navbar></Navbar>
  10. </el-header>
  11. <el-main>
  12. <!-- <router-view></router-view> -->
  13. <keep-alive>
  14. <!-- <router-view></router-view> -->
  15. <router-view v-if="$route.meta.keepAlive"></router-view>
  16. </keep-alive>
  17. <router-view v-if="!$route.meta.keepAlive"></router-view>
  18. </el-main>
  19. </el-container>
  20. </el-container>
  21. </div>
  22. </template>
  23. <script>
  24. import NavbarItem from "@/layout/components/NavbarItem";
  25. import Navbar from "@/layout/components/Navbar";
  26. import Cookies from "js-cookie";
  27. export default {
  28. name: "Layout",
  29. components: { NavbarItem, Navbar },
  30. data() {
  31. return {};
  32. },
  33. mounted() {
  34. this.API.systemnotice.systemnoticeList({ pageSize: 100 }).then(res => {
  35. let number = 0;
  36. res.data.list.forEach(item => {
  37. if (item.readFlag == 0) {
  38. number += 1;
  39. }
  40. item.createTime = item.createTime.replace("T", " ");
  41. });
  42. this.$store.dispatch("inform/setreadFlag", number);
  43. if (number == 0) {
  44. this.$store.dispatch("inform/setreadFlag", "");
  45. }
  46. });
  47. },
  48. methods: {}
  49. };
  50. </script>
  51. <style scoped lang="scss">
  52. .box {
  53. width: 100%;
  54. height: 100%;
  55. .el-header {
  56. color: #333;
  57. text-align: center;
  58. width: 1660px;
  59. height: 96px !important;
  60. background: rgba(255, 255, 255, 1);
  61. box-shadow: 0px 3px 10px rgba(41, 109, 227, 0.1);
  62. }
  63. .el-aside {
  64. background-color: #d3dce6;
  65. color: #333;
  66. text-align: center;
  67. height: 100%;
  68. width: 260px !important;
  69. background: rgba(41, 109, 227, 1);
  70. }
  71. .el-main {
  72. background: #fff;
  73. padding: 0;
  74. margin: 14px 0 0 25px;
  75. }
  76. }
  77. </style>