index.vue 2.56 KB
<template>
  <view class="my-page">
    <view v-for="(item, index) in menu_list" :key="index" class="my-item" @tap="go(item.to)">
      <view class="left">
        <image :src="item.icon" style="width: 1.2rem; height: 1.2rem; margin-right: 0.5rem;" />
        {{ item.name }}
      </view>
      <view>
        <nut-icon name="rect-right" size="1.2rem" />
      </view>
    </view>
    <view class="index-nav">
      <view class="nav-logo" @tap="toHome">
        <image :src="icon_3" style="width: 1.5rem; height: 1.5rem;" />
        首页
      </view>
      <view class="nav-logo" @tap="toCode">
        <image :src="icon_4" style="width: 1.5rem; height: 1.5rem; margin-bottom: 0.1rem;" />
        预约码
      </view>
      <view class="nav-logo">
        <image :src="icon_5" style="width: 1.5rem; height: 1.5rem;" />
        我的
      </view>
    </view>
  </view>
</template>

<script setup>
import { ref } from 'vue'
import Taro from '@tarojs/taro'
import { useGo } from '@/hooks/useGo'
import icon_3 from '@/assets/images/首页01@2x.png'
import icon_4 from '@/assets/images/二维码icon.png'
import icon_5 from '@/assets/images/我的02@2x.png'

import icon_booking from '@/assets/images/预约记录@2x.png'
import icon_visitor from '@/assets/images/我的01@2x.png'
import icon_invite from '@/assets/images/二维码@2x2.png'

const go = useGo();

const toCode = () => { // 跳转到预约码
  go('/pages/bookingCode/index');
}
const toHome = () => { // 跳转到首页
  go('/pages/index/index');
}

const menu_list = [{
  icon: icon_booking,
  name: '预约记录',
  to: '/pages/bookingList/index'
}, {
  icon: icon_visitor,
  name: '参观者',
  to: '/pages/visitorList/index'
}, {
  icon: icon_invite,
  name: '邀请码',
  to: '/pages/search/index'
}]
</script>

<style lang="less">
.my-page {
  position: relative;
  min-height: 100vh;
  background-color: #F6F6F6;
  padding: 1rem;

  .my-item {
    padding: 1rem;
    display: flex;
    justify-content:space-between;
    align-items: center;
    margin-bottom: 1rem;
    background-color: #FFF;
    border-radius: 5px;
    .left {
      color: #A67939;
      display: flex;
      align-items: center;
    }
  }
  .index-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: 10vh;
    background: #FFFFFF;
    box-shadow: 0rem -0.33rem 0.25rem 0rem rgba(0,0,0,0.12);
    display: flex;
    align-items: center;
    justify-content: space-around;
    color: #A67939;
    .nav-logo {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
  }
}
</style>