index.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <template>
  2. <div class="box">
  3. <div class="box_wrapper">
  4. <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
  5. <el-tab-pane label="住院病历查询" name="0">
  6. <BLSearchVue v-if="activeName ==0" :is-whitelist="isWhiteList" />
  7. </el-tab-pane>
  8. <el-tab-pane label="病案首页查询" name="1">
  9. <CaseHomeSearchVue v-if="activeName ==1" :is-whitelist="isWhiteList" />
  10. </el-tab-pane>
  11. <el-tab-pane label="住院医嘱查询" name="2">
  12. <DoctorOrderSearchVue v-if="activeName ==2" :is-whitelist="isWhiteList" />
  13. </el-tab-pane>
  14. <el-tab-pane label="门诊病历查询" name="3">
  15. <OutpatientSearchVue v-if="activeName ==3" :is-whitelist="isWhiteList" />
  16. </el-tab-pane>
  17. </el-tabs>
  18. <el-button v-if="!isWhiteList" class="layout-btn" @click="layout">
  19. 退出
  20. </el-button>
  21. </div>
  22. </div>
  23. </template>
  24. <script>
  25. import BLSearchVue from '@/views/search';
  26. import CaseHomeSearchVue from '@/views/data/query';
  27. import DoctorOrderSearchVue from '@/views/data/query/adviceSearch.vue';
  28. import OutpatientSearchVue from '@/views/outpatient/case/index.vue'
  29. import { setToken } from '@/utils/auth';
  30. export default {
  31. components: {
  32. BLSearchVue,
  33. CaseHomeSearchVue,
  34. DoctorOrderSearchVue,
  35. OutpatientSearchVue
  36. },
  37. data() {
  38. return {
  39. activeName: '0',
  40. };
  41. },
  42. computed: {
  43. isWhiteList() {
  44. // 判断是否不登录访问
  45. return this.$route.path.includes('whitelist')
  46. }
  47. },
  48. methods: {
  49. handleClick(tab, event) {
  50. console.log(tab.name);
  51. this.activeName = tab.name
  52. },
  53. async logout() {
  54. await this.$store.dispatch('user/logout')
  55. const preUrl = sessionStorage.getItem("preUrl")
  56. this.$router.push({ path: '/login', query: { preUrl }})
  57. },
  58. },
  59. };
  60. </script>
  61. <style lang="scss" scoped>
  62. ::v-deep .el-tabs__nav-scroll{
  63. width: 502px;
  64. margin:0 auto;
  65. }
  66. .box {
  67. padding: 16px;
  68. .box_wrapper {
  69. padding: 16px;
  70. padding: 16px;
  71. background: #fff;
  72. border-radius: 5px;
  73. position: relative;
  74. }
  75. .layout-btn {
  76. position: absolute;
  77. --size: 16px;
  78. top: var(--size);
  79. right: var(--size);
  80. }
  81. }
  82. </style>