info.vue 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <template>
  2. <div class="main">
  3. <div class="content">
  4. <sub-header />
  5. <div class="left">
  6. <n-tabs type="line" pane-class="tab-content">
  7. <template #prefix>
  8. <span class="meta-title">
  9. <img src="/img/subtitle_1.png" />
  10. </span>
  11. </template>
  12. <n-tab-pane name="展览" tab="展览">
  13. <n-grid :x-gap="XGap" :y-gap="YGap" :cols="3" class="tab-grid">
  14. <template v-for="(_, index) in 16">
  15. <n-gi>
  16. <infoBox
  17. :id="index + 1"
  18. :title="`湘鄂赣省工农银行洋银叁角纸币-${index + 1}`"
  19. cover="https://07akioni.oss-cn-beijing.aliyuncs.com/07akioni.jpeg"
  20. time="2023-01-02"
  21. />
  22. </n-gi>
  23. </template>
  24. </n-grid>
  25. </n-tab-pane>
  26. <n-tab-pane name="活动" tab="活动">
  27. <n-grid :x-gap="XGap" :y-gap="YGap" :cols="3" class="tab-grid">
  28. <template v-for="item in 16">
  29. <n-gi>
  30. <infoBox
  31. title="卡片"
  32. cover="https://07akioni.oss-cn-beijing.aliyuncs.com/07akioni.jpeg"
  33. time="2023-01-02"
  34. />
  35. </n-gi>
  36. </template>
  37. </n-grid>
  38. </n-tab-pane>
  39. <n-tab-pane name="新闻" tab="新闻">
  40. <n-grid :x-gap="XGap" :y-gap="YGap" :cols="3" class="tab-grid">
  41. <template v-for="item in 16">
  42. <n-gi>
  43. <infoBox
  44. title="卡片"
  45. cover="https://07akioni.oss-cn-beijing.aliyuncs.com/07akioni.jpeg"
  46. time="2023-01-02"
  47. />
  48. </n-gi>
  49. </template>
  50. </n-grid>
  51. </n-tab-pane>
  52. <n-tab-pane name="通知" tab="通知">
  53. <n-grid :y-gap="YGap" :cols="1" class="tab-grid">
  54. <template v-for="(_, index) in 16">
  55. <n-gi>
  56. <notice-box
  57. :id="`${index + 2}_notice`"
  58. title="这是一段标题这是一段标题"
  59. content="这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段..."
  60. time="2023-01-02"
  61. />
  62. </n-gi>
  63. </template>
  64. </n-grid>
  65. </n-tab-pane>
  66. </n-tabs>
  67. </div>
  68. <side-menu />
  69. </div>
  70. </div>
  71. </template>
  72. <script setup>
  73. import { onMounted } from "vue";
  74. import { useFullscreen } from "@vueuse/core";
  75. import infoBox from "../components/infoBox";
  76. import subHeader from "../components/subHeader";
  77. import sideMenu from "../components/sideMenu";
  78. import noticeBox from "../components/noticeBox";
  79. import { useInfoStore } from "../store/info";
  80. const XGap = ref(50);
  81. const YGap = ref(50);
  82. const { isFullscreen, enter, exit, toggle } = useFullscreen();
  83. const InfoStore = useInfoStore();
  84. onMounted(() => {
  85. InfoStore.getData();
  86. });
  87. </script>
  88. <style lang="scss" scoped></style>