headerTitle.vue 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <template>
  2. <view class="header-title">
  3. <!-- 个人信息 -->
  4. <view class="user-info-box">
  5. {{ userInfo.username || '欢迎登录' }},{{ timeStatus }}好
  6. </view>
  7. <!-- 流程按钮 -->
  8. <view class="right-flows">
  9. <uni-badge class="uni-badge-left-margin" :is-dot="true" :text="flowNumber" absolute="rightTop"
  10. :offset="[10, 5]">
  11. <view class="flow-text">我的流程 ></view>
  12. </uni-badge>
  13. </view>
  14. </view>
  15. </template>
  16. <script setup>
  17. import {
  18. onMounted,
  19. ref
  20. } from 'vue';
  21. import {
  22. useUserStore
  23. } from '@/store/index.js';
  24. import moment from 'moment';
  25. const userStore = useUserStore();
  26. const userInfo = userStore.userInfo;
  27. const flowNumber = ref(10);
  28. const timeStatus = ref('早上')
  29. onMounted(() => {
  30. getTimeStatus()
  31. setInterval(() => {
  32. getTimeStatus()
  33. }, 300000)
  34. })
  35. const getTimeStatus = () => {
  36. let hours = moment().hours()
  37. if (hours < 9) {
  38. timeStatus.value = '早上'
  39. } else if (hours >= 9 && hours < 12) {
  40. timeStatus.value = '上午'
  41. } else if (hours >= 12 && hours < 14) {
  42. timeStatus.value = '中午'
  43. } else if (hours >= 14 && hours < 18) {
  44. timeStatus.value = '下午'
  45. } else if (hours >= 18) {
  46. timeStatus.value = '晚上'
  47. }
  48. }
  49. </script>
  50. <style lang="scss" scoped>
  51. .header-title {
  52. margin: 40rpx 0 26rpx;
  53. display: flex;
  54. justify-content: space-between;
  55. align-items: center;
  56. color: $uni-text-color;
  57. .user-info-box {
  58. font-family: Source Han Sans;
  59. font-size: 40rpx;
  60. font-weight: bold;
  61. font-feature-settings: "kern" on;
  62. }
  63. .right-flows {
  64. .flow-text {
  65. font-family: Source Han Sans;
  66. font-size: 40rpx;
  67. font-weight: bold;
  68. font-feature-settings: "kern" on;
  69. }
  70. }
  71. }
  72. </style>