dk-dropdown-date-day.js 3.4 KB

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