selectDate.js 2.5 KB

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