selectDate.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. var app = getApp()
  2. var that;
  3. Component({
  4. mixins: [],
  5. data: {
  6. dateIndex: 1,
  7. month: app.globalData.month,//月
  8. startDay: app.globalData.day,
  9. endDay: app.globalData.day,
  10. },
  11. props: {
  12. onClose: (data) => console.log(data),
  13. onConfirm:(data) => console.log(data),
  14. defaultDate:{type:"1",date:app.globalData.month},
  15. notDate:true,
  16. },
  17. didMount() {
  18. if(!this.props.defaultDate){
  19. this.setData({
  20. dateIndex:"2",
  21. })
  22. }
  23. if(this.props.defaultDate.type==1){
  24. this.setData({
  25. dateIndex:"1",
  26. month:this.props.defaultDate.date,
  27. isShow:this.props.isShow
  28. })
  29. }else{
  30. this.setData({
  31. dateIndex:"2",
  32. startDay:this.props.defaultDate.date[0],
  33. endDay:this.props.defaultDate.date[1],
  34. isShow:this.props.isShow
  35. })
  36. }
  37. },
  38. didUpdate() { },
  39. didUnmount() { },
  40. methods: {
  41. onConfirm(){
  42. var obj;
  43. if (this.data.startDay > this.data.endDay) {
  44. app.globalData.showToast("开始时间不能大于结束时间")
  45. return false;
  46. }else{
  47. if(this.data.dateIndex==1){
  48. obj={
  49. type:this.data.dateIndex,
  50. date:this.data.month
  51. }
  52. }else{
  53. obj={
  54. type:this.data.dateIndex,
  55. date:[this.data.startDay,this.data.endDay]
  56. }
  57. }
  58. this.props.onConfirm(obj);
  59. this.props.onClose();
  60. }
  61. },
  62. onClose(){
  63. this.props.onClose();
  64. },
  65. selectDay() {
  66. dd.datePicker({
  67. format: 'yyyy-MM-dd',
  68. currentDate: this.data.startDay,
  69. success: (res) => {
  70. this.setData({
  71. startDay: res.date,
  72. // endDay: res.date
  73. })
  74. },
  75. });
  76. },
  77. selectDay2() {
  78. dd.datePicker({
  79. format: 'yyyy-MM-dd',
  80. currentDate: this.data.endDay,
  81. success: (res) => {
  82. if (res.date < this.data.startDay) {
  83. app.globalData.showToast("结束时间不能小于开始时间")
  84. this.setData({
  85. endDay: this.data.startDay
  86. })
  87. return false;
  88. }
  89. this.setData({
  90. endDay: res.date
  91. })
  92. },
  93. });
  94. },
  95. activeDate(e) {
  96. this.setData({ dateIndex: e.target.dataset.index })
  97. },
  98. selectDate() {
  99. dd.datePicker({
  100. format: 'yyyy-MM',
  101. currentDate: this.data.month,
  102. success: (res) => {
  103. this.setData({
  104. month: res.date
  105. })
  106. },
  107. });
  108. },
  109. },
  110. });