123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <template>
- <div class="hospital">
- <!-- 左侧导航栏区域 -->
- <div class="menu">
- <div class="top">
- <el-icon><HomeFilled /></el-icon>
- <span> / 医院信息</span>
- </div>
- <el-menu :default-active="$route.path" class="el-menu-vertical-demo">
- <el-menu-item
- index="/hospital/register"
- @click="changeActive('/hospital/register')"
- >
- <el-icon><icon-menu /></el-icon>
- <span>预约挂号</span>
- </el-menu-item>
- <el-menu-item
- index="/hospital/detail"
- @click="changeActive('/hospital/detail')"
- >
- <el-icon><document /></el-icon>
- <span>医院详情</span>
- </el-menu-item>
- <el-menu-item
- index="/hospital/notice"
- @click="changeActive('/hospital/notice')"
- >
- <el-icon><setting /></el-icon>
- <span>预约通知</span>
- </el-menu-item>
- <el-menu-item
- index="/hospital/close"
- @click="changeActive('/hospital/close')"
- >
- <el-icon><InfoFilled /></el-icon>
- <span>停诊信息</span>
- </el-menu-item>
- <el-menu-item
- index="/hospital/search"
- @click="changeActive('/hospital/search')"
- >
- <el-icon><Search /></el-icon>
- <span>查询/取消</span>
- </el-menu-item>
- </el-menu>
- </div>
- <!-- 右侧内容展示区域 -->
- <div class="content">
- <router-view></router-view>
- </div>
- </div>
- </template>
- <script setup lang="ts">
- import {
- Document,
- Menu as IconMenu,
- Setting,
- InfoFilled,
- Search,
- HomeFilled,
- } from "@element-plus/icons-vue";
- import { onMounted } from "vue";
- import useDetaileStore from "@/store/modules/hospitalDetail";
- import { useRouter, useRoute } from "vue-router";
- let $router = useRouter();
- //获取当前路由信息
- let $route = useRoute();
- console.log($route.path);
- //获取仓库对象
- let detailStore = useDetaileStore();
- //左侧菜单点击事件
- const changeActive = (path: string) => {
- $router.push({
- path,
- });
- };
- //组件挂载完: 通知pinia仓库发送请求来获取详情的数据
- onMounted(() => {
- //获取医院详情数据
- detailStore.getHospital($route.query.hoscode);
- });
- </script>
- <style scoped lang="scss">
- .hospital {
- display: flex;
- .menu {
- flex: 2;
- display: flex;
- flex-direction: column;
- align-items: center;
- .top {
- color: #7f7f7f;
- }
- }
- .content {
- flex: 8;
- }
- }
- </style>
|