t-i-notice.vue 4.1 KB

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