t-i-notice.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <template>
  2. <view class="content">
  3. <view class="box">
  4. <!-- 文字滚动 -->
  5. <uni-notice-bar scrollable="true" :speed="30" background-color="#ffffff00" color="#fff" single="true"
  6. :text="text_time">
  7. </uni-notice-bar>
  8. <!-- 文字滚动 -->
  9. <uni-notice-bar scrollable="true" :speed="20" background-color="#ffffff00" color="#fff" single="true"
  10. :text="text"></uni-notice-bar>
  11. </view>
  12. </view>
  13. </template>
  14. <script>
  15. import {
  16. sloarToLunar,
  17. getYearMonthDay
  18. } from "../../components/Toling-DateSelect/computedLunarDate.js";
  19. // 返回指定日期距今多少天
  20. const daysComputed = time => {
  21. let oldTimeFormat = new Date(time)
  22. let nowDate = new Date()
  23. if (nowDate.getTime() - oldTimeFormat.getTime() > 0) {
  24. let times = nowDate.getTime() - oldTimeFormat.getTime()
  25. let days = parseInt(times / (60 * 60 * 24 * 1000))
  26. return days
  27. } else {
  28. throw ('传入时间不能大于当前日期')
  29. }
  30. }
  31. // console.log(daysComputed('2006-04-28'))
  32. // 返回指定日期前/后多少天的日期
  33. function getNextDate(date, day) {
  34. var dd = new Date(date);
  35. dd.setDate(dd.getDate() + day);
  36. var y = dd.getFullYear();
  37. var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
  38. var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
  39. return y + "-" + m + "-" + d;
  40. };
  41. // getNextDate("2018-09-27",10)
  42. export default {
  43. name: "t-i-notice",
  44. props: [
  45. "text",
  46. "mine_code"
  47. ],
  48. data() {
  49. return {
  50. text_time: "",
  51. year: 0,
  52. month: 0,
  53. today: 0,
  54. lunarStr2: "",
  55. days: 0
  56. };
  57. },
  58. created() {
  59. this.year = new Date().getFullYear();
  60. this.month = new Date().getMonth() + 1;
  61. this.today = new Date().getDate();
  62. this.lunarStr2 = " 农历: " + sloarToLunar(this.year, this.month.toString().padStart(2, '0'), this.today)
  63. .lunarStr2
  64. // console.log(sloarToLunar(this.year, this.month.toString().padStart(2, '0'), this.today))
  65. // console.log(getNextDate("2022-01-04",-5730))
  66. this.days = daysComputed('2006-04-28')
  67. // console.log(daysComputed('2006-04-28'))
  68. this.getCurrentDate()
  69. },
  70. methods: {
  71. getCurrentDate() {
  72. var myDate = new Date();
  73. var year = myDate.getFullYear(); //年
  74. var month = myDate.getMonth() + 1; //月
  75. var day = myDate.getDate(); //日
  76. var days = myDate.getDay();
  77. switch (days) {
  78. case 1:
  79. days = '星期一';
  80. break;
  81. case 2:
  82. days = '星期二';
  83. break;
  84. case 3:
  85. days = '星期三';
  86. break;
  87. case 4:
  88. days = '星期四';
  89. break;
  90. case 5:
  91. days = '星期五';
  92. break;
  93. case 6:
  94. days = '星期六';
  95. break;
  96. case 0:
  97. days = '星期日';
  98. break;
  99. }
  100. var str = "今日 " + " " + year + "年" + month + "月" + day + "日  " + days;
  101. if (uni.getStorageSync('mine_code') == 'zaoquan') {
  102. this.text_time = str + " " + this.lunarStr2 + " 累计安全生产 " + this.days + " 天"
  103. } else {
  104. this.text_time = str + " " + this.lunarStr2
  105. }
  106. },
  107. }
  108. }
  109. </script>
  110. <style lang="scss">
  111. .content {
  112. width: 750rpx;
  113. height: 244rpx;
  114. background-image: url(./icon/bg_img.jpg);
  115. background-size: 750rpx 334rpx;
  116. background-repeat: no-repeat;
  117. background-position: bottom;
  118. box-sizing: border-box;
  119. padding-top: 20rpx;
  120. }
  121. .box {
  122. margin: 0 auto;
  123. width: 700rpx;
  124. // height: 200rpx;
  125. background-color: rgba(255, 255, 255, .4);
  126. border-radius: 20rpx;
  127. box-sizing: border-box;
  128. padding: 0 20rpx;
  129. /deep/.uni-noticebar {
  130. margin-bottom: 0;
  131. }
  132. /deep/.uni-noticebar:nth-child(2) {
  133. padding-top: 0;
  134. }
  135. }
  136. </style>