index.vue 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <template>
  2. <div class="box" :class="{'nocopy': $route.meta.nocopy}">
  3. <div class="box_wrapper">
  4. <el-button class="feedback-btn" type="primary" plain @click="onFeedback">
  5. 问题反馈
  6. </el-button>
  7. <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
  8. <el-tab-pane label="指标分析" name="0">
  9. <CaseIndexAnalysis />
  10. </el-tab-pane>
  11. <el-tab-pane label="病案指标" name="1">
  12. <CaseIndex />
  13. </el-tab-pane>
  14. </el-tabs>
  15. <el-button class="layout-btn" @click="logout">
  16. 退出
  17. </el-button>
  18. </div>
  19. <FeedbackDialogVue v-if="feedbackData.bSwitch" :data="feedbackData" />
  20. </div>
  21. </template>
  22. <script>
  23. import { setToken } from '@/utils/auth';
  24. import CaseIndexAnalysis from '@/views/allcase/caseIndexAnalysis.vue'
  25. import CaseIndex from '@/views/allcase/caseIndex.vue'
  26. import FeedbackDialogVue from './components/FeedbackDialog.vue';
  27. export default {
  28. components: {
  29. CaseIndexAnalysis,
  30. CaseIndex,
  31. FeedbackDialogVue
  32. },
  33. data() {
  34. return {
  35. activeName: '0',
  36. feedbackData: {
  37. bSwitch: false
  38. }
  39. };
  40. },
  41. methods: {
  42. handleClick(tab, event) {
  43. console.log(tab.name);
  44. this.activeName = tab.name
  45. },
  46. async logout() {
  47. await this.$store.dispatch('user/logout')
  48. const preUrl = sessionStorage.getItem("preUrl")
  49. this.$router.push({ path: '/login', query: { preUrl }})
  50. },
  51. onFeedback() {
  52. this.feedbackData.bSwitch = true
  53. }
  54. },
  55. };
  56. </script>
  57. <style lang="scss" scoped>
  58. ::v-deep .el-tabs__nav-scroll{
  59. width: 320px;
  60. margin:0 auto
  61. }
  62. .box {
  63. padding: 0 16px 16px 16px;
  64. .box_wrapper {
  65. padding: 16px;
  66. padding: 16px;
  67. background: #fff;
  68. border-radius: 5px;
  69. position: relative;
  70. }
  71. .layout-btn {
  72. position: absolute;
  73. --size: 16px;
  74. top: var(--size);
  75. right: var(--size);
  76. z-index: 99;
  77. }
  78. .feedback-btn {
  79. position: absolute;
  80. --size: 16px;
  81. top: var(--size);
  82. left: var(--size);
  83. z-index: 99;
  84. }
  85. }
  86. </style>