TopHeader.vue 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <template>
  2. <header :class="'mui-bar mui-bar-nav '+headerClass" :style="headerStyle">
  3. <h1 class="mui-title" v-text="pageTitle"></h1>
  4. <a v-if="leftShow" class="mui-icon mui-icon-left-nav mui-pull-left" :routeName="routeName" @click="goBack"></a>
  5. <a v-if="rightLink.show" @click="doRightLink" class="fyy-bar mui-pull-right">
  6. <span :class="'mui-icon iconfont '+rightLink.icon" :style="rightLink.style">
  7. <span class="header-right-wz">
  8. {{rightLink.title}}<i></i>
  9. </span>
  10. <span v-if="systemMessageNum>0" class="mui-badge mui-badge-danger jp-badge" v-text="systemMessageNum"></span>
  11. </span>
  12. </a>
  13. </header>
  14. </template>
  15. <script>
  16. export default {
  17. name: 'TopHeader',
  18. props: {
  19. headerClass: {
  20. require: false,
  21. default: '',
  22. },
  23. headerStyle: {
  24. require: false,
  25. default: '',
  26. },
  27. routeName: {
  28. require: false,
  29. default: '',
  30. },
  31. pageTitle: {
  32. require: false,
  33. default: '',
  34. },
  35. leftShow: {
  36. require: false,
  37. default: true,
  38. },
  39. rightLink: {
  40. require: false,
  41. type: Object,
  42. default: () => ({
  43. show: false,
  44. to: '',
  45. icon: '',
  46. style: '',
  47. title: ''
  48. }),
  49. },
  50. doRightLink: {
  51. require: false,
  52. type: Function,
  53. },
  54. systemMessageNum: {
  55. require: false,
  56. default: 0
  57. }
  58. },
  59. methods: {
  60. //返回上一层
  61. goBack() {
  62. if (this.routeName) {
  63. this.$router.push({
  64. name: this.routeName
  65. })
  66. } else {
  67. this.$router.go(-1);
  68. }
  69. }
  70. },
  71. }
  72. </script>
  73. <style scoped src="$project/assets/css/xpgj.css"></style>
  74. <style scoped>
  75. .jp-badge {
  76. font-size: 12px !important;
  77. margin-left: 0 !important;
  78. line-height: 1.4 !important;
  79. top: 5px !important;
  80. left: 50% !important;
  81. background-color: #F7D046 !important;
  82. color: #000 !important;
  83. }
  84. </style>