TopNavigation.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <template>
  2. <div>
  3. <div>
  4. <nav class="navbar navbar-default navBack">
  5. <div class="container-fluid">
  6. <!-- Brand and toggle get grouped for better mobile display -->
  7. <div class="navbar-header">
  8. <button
  9. type="button"
  10. class="navbar-toggle collapsed"
  11. data-toggle="collapse"
  12. data-target="#bs-example-navbar-collapse-1"
  13. aria-expanded="false"
  14. >
  15. <span class="sr-only">Toggle navigation</span>
  16. <span class="icon-bar" />
  17. <span class="icon-bar" />
  18. <span class="icon-bar" />
  19. </button>
  20. <a
  21. class="navbar-brand"
  22. @click="showMenu"
  23. >
  24. <i v-if="visible == false" class="glyphicon glyphicon-chevron-right" />
  25. <i v-if="visible" class="glyphicon glyphicon-chevron-left" />
  26. </a>
  27. </div>
  28. <!-- Collect the nav links, forms, and other content for toggling -->
  29. <div
  30. id="bs-example-navbar-collapse-1"
  31. class="collapse navbar-collapse"
  32. >
  33. <TopNavUserInfo :login-info="loginInfo" />
  34. <TopNavClientSelect :login-info="loginInfo" />
  35. <TopNavMessage :login-info="loginInfo" />
  36. <TopNavVideoCallCenter />
  37. <TopNavDownload />
  38. <LoginNotice />
  39. </div>
  40. <!-- /.navbar-collapse -->
  41. </div>
  42. <!-- /.container-fluid -->
  43. <div class="clearfix" />
  44. </nav>
  45. </div>
  46. </div>
  47. </template>
  48. <script>
  49. import Common from '../common/Common.js';
  50. import AuthImage from '../widget/AuthImage.vue';
  51. import TopNavClientSelect from './top-nav-client-select.vue';
  52. import TopNavUserInfo from './top-nav-user-info.vue';
  53. import TopNavMessage from './top-nav-message.vue';
  54. import TopNavVideoCallCenter from './top-nav-video-call-center.vue';
  55. import TopNavDownload from './top-nav-download.vue';
  56. import LoginNotice from './LoginNotice.vue';
  57. export default {
  58. components: {
  59. AuthImage,
  60. TopNavClientSelect,
  61. TopNavUserInfo,
  62. TopNavMessage,
  63. TopNavVideoCallCenter,
  64. TopNavDownload,
  65. LoginNotice,
  66. },
  67. emits: ['menuVisibleChanged'],
  68. data: function () {
  69. this.Common = Common;
  70. return {
  71. loginInfo: '',
  72. webSocket: undefined,
  73. clientCanAccessList: [],
  74. visible:true,
  75. };
  76. },
  77. watch: {},
  78. mounted: function () {
  79. this.getLocalStorage();
  80. },
  81. methods: {
  82. // 获取localStorage
  83. getLocalStorage: function () {
  84. var json = localStorage.getItem('#LoginInfo');
  85. this.loginInfo = JSON.parse(json);
  86. },
  87. showMenu:function(){
  88. this.visible = !this.visible;
  89. this.$emit('menuVisibleChanged');
  90. },
  91. },
  92. };
  93. </script>
  94. <style scoped>
  95. @media (max-width: 768px) {
  96. .navBack{
  97. z-index: 9999999;
  98. }
  99. }
  100. </style>