dk-dropdown-date-hour-mon-sec.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. /*******************************************************************************
  2. * Copyright(c) 2022 dongke All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:
  5. * 2.功能描述:一览界面日期下拉组件-时分秒
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * admin 2021-5-5 1.00 新建
  9. *******************************************************************************/
  10. const util = require('../../../utils/util.js')
  11. Component({
  12. /**
  13. * 组件的属性列表
  14. */
  15. properties: {
  16. // 是否显示
  17. show: {
  18. type: Boolean,
  19. default: false
  20. },
  21. // 选项格式化函数(type 可能值为 year, month, day, hour, minute)
  22. formatter:String,
  23. //类型
  24. dateType: {
  25. type: String,
  26. default: 'createtime'
  27. },
  28. //默认值
  29. defaultValue: {
  30. type: String,
  31. default: '-1'
  32. },
  33. },
  34. /**
  35. * 组件的初始数据
  36. */
  37. data: {
  38. show: false,
  39. active: 0,
  40. dateDefault: {},
  41. dateTypeList: [],
  42. dateSearch: [new Date().getTime() + 100, new Date().getTime() + 100],
  43. // 往组件外返回值
  44. dataDefaultSearch: [],
  45. },
  46. lifetimes: {
  47. attached: function () {
  48. },
  49. detached: function () {
  50. // 在组件实例被从页面节点树移除时执行
  51. },
  52. },
  53. /**
  54. * 组件的方法列表
  55. */
  56. methods: {
  57. /**
  58. * 日期变化 查询
  59. * @param {*} e
  60. */
  61. choose(e) {
  62. let _this = this
  63. let item = e.currentTarget.dataset.item
  64. if (item.value == -2) {
  65. _this.setData({
  66. show: true
  67. })
  68. setTimeout(function () {
  69. _this.setData({
  70. active: 0
  71. })
  72. }, 100)
  73. } else {
  74. _this.setData({
  75. dateDefault: item
  76. })
  77. let date = []
  78. if (item.value == 1) {
  79. date = [util.formatTime(new Date()).substring(0, 10), util.formatTime(new Date()).substring(0, 10)]
  80. }
  81. else if (item.value == 2) {
  82. date = [util.formatTime(util.getCurrentWeek(0)).substring(0, 10), util.formatTime(util.getCurrentWeek(-6)).substring(0, 10)]
  83. }
  84. else if (item.value == 3) {
  85. date = util.getCurrentMonth();
  86. }
  87. this.setData({
  88. dataDefaultSearch: date
  89. })
  90. this.triggerEvent('dateCommit', { date: date, dateType: this.data.dateType, dateDefault: this.data.dateDefault })
  91. }
  92. },
  93. /**
  94. * 日期变化 查询数据
  95. * @param {*} e
  96. */
  97. changeDate(e) {
  98. // let key = e.currentTarget.dataset.key
  99. //提醒时间
  100. // if (key === 'nextFollowTime') {
  101. this.setData({
  102. timeValue: e.detail
  103. })
  104. // }
  105. },
  106. /**
  107. * 日期变化 查询数据
  108. * @param {*} e
  109. */
  110. onCloseChooseDate() {
  111. this.setData({
  112. show: false
  113. })
  114. this.setData({
  115. dateSearch: [new Date().getTime(), new Date().getTime()],
  116. })
  117. },
  118. /**
  119. * 日期变化 查询
  120. * @param {*} e
  121. */
  122. onConfirmChooseDate() {
  123. this.setData({
  124. show: false,
  125. dateDefault: this.data.dateTypeList[this.data.dateTypeList.length - 1]
  126. })
  127. let date = [util.formatDayTime(new Date(this.data.dateSearch[0])),
  128. util.formatDayTime(new Date(this.data.dateSearch[1]))]
  129. this.setData({
  130. dataDefaultSearch: date
  131. })
  132. this.triggerEvent('dateCommit', { date: date, dateType: this.data.dateType, dateDefault: this.data.dateDefault })
  133. },
  134. }
  135. })