index.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <script setup lang="ts">
  2. import TabBar from "@/components/tab-bar/tab-bar.vue"
  3. const swiperOpts = reactive({
  4. current: 0,
  5. swiperDotIndex: 0,
  6. data: [
  7. {
  8. image: "/static/images/banner/001.jpg",
  9. },
  10. {
  11. image: "/static/images/banner/002.jpg",
  12. },
  13. ],
  14. })
  15. function clickBannerItem(item: any) {
  16. console.info(item)
  17. }
  18. function changeSwiper(e: any) {
  19. swiperOpts.current = e.detail.current
  20. }
  21. function changeGrid() {
  22. message.msg("模块建设中~")
  23. }
  24. </script>
  25. <template>
  26. <view>
  27. <!-- 轮播图 -->
  28. <uni-swiper-dot class="uni-swiper-dot-box" :info="swiperOpts.data" :current="swiperOpts.current" field="content">
  29. <swiper :current="swiperOpts.swiperDotIndex" @change="changeSwiper">
  30. <swiper-item v-for="(item, i) in swiperOpts.data" :key="i">
  31. <view class="h-100 w-100" @click="clickBannerItem(item)">
  32. <image class="h-100 w-100" :src="item.image" mode="aspectFill" :draggable="false" />
  33. </view>
  34. </swiper-item>
  35. </swiper>
  36. </uni-swiper-dot>
  37. <!-- 宫格组件 -->
  38. <uni-section title="系统管理" type="line"></uni-section>
  39. <view class="">
  40. <uni-grid :column="4" :showBorder="false" @change="changeGrid">
  41. <uni-grid-item>
  42. <view class="d-fc flex-column h-100">
  43. <uni-icons type="person-filled" size="30"></uni-icons>
  44. <text class="text">用户管理</text>
  45. </view>
  46. </uni-grid-item>
  47. <uni-grid-item>
  48. <view class="d-fc flex-column h-100">
  49. <uni-icons type="staff-filled" size="30"></uni-icons>
  50. <text class="text">角色管理</text>
  51. </view>
  52. </uni-grid-item>
  53. <uni-grid-item>
  54. <view class="d-fc flex-column h-100">
  55. <uni-icons type="color" size="30"></uni-icons>
  56. <text class="text">菜单管理</text>
  57. </view>
  58. </uni-grid-item>
  59. <uni-grid-item>
  60. <view class="d-fc flex-column h-100">
  61. <uni-icons type="settings-filled" size="30"></uni-icons>
  62. <text class="text">部门管理</text>
  63. </view>
  64. </uni-grid-item>
  65. <uni-grid-item>
  66. <view class="d-fc flex-column h-100">
  67. <uni-icons type="heart-filled" size="30"></uni-icons>
  68. <text class="text">岗位管理</text>
  69. </view>
  70. </uni-grid-item>
  71. <uni-grid-item>
  72. <view class="d-fc flex-column h-100">
  73. <uni-icons type="bars" size="30"></uni-icons>
  74. <text class="text">字典管理</text>
  75. </view>
  76. </uni-grid-item>
  77. <uni-grid-item>
  78. <view class="d-fc flex-column h-100">
  79. <uni-icons type="gear-filled" size="30"></uni-icons>
  80. <text class="text">参数设置</text>
  81. </view>
  82. </uni-grid-item>
  83. <uni-grid-item>
  84. <view class="d-fc flex-column h-100">
  85. <uni-icons type="chat-filled" size="30"></uni-icons>
  86. <text class="text">通知公告</text>
  87. </view>
  88. </uni-grid-item>
  89. <uni-grid-item>
  90. <view class="d-fc flex-column h-100">
  91. <uni-icons type="wallet-filled" size="30"></uni-icons>
  92. <text class="text">日志管理</text>
  93. </view>
  94. </uni-grid-item>
  95. </uni-grid>
  96. </view>
  97. <TabBar></TabBar>
  98. </view>
  99. </template>