selectDate.js 2.6 KB

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