index.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. // components/My_selectTime/index.js
  2. Component({
  3. /**
  4. * 组件的属性列表
  5. */
  6. properties: {
  7. type: {
  8. type: String,
  9. value: "YTD"
  10. },
  11. /* 最小时间 */
  12. minDate: {
  13. type: Number,
  14. value: -1546329600000, //1921.1.1
  15. },
  16. /* 最大选择时间 */
  17. maxDate: {
  18. type: Number,
  19. value: Date.parse(new Date()) - 568080000000 //当前时间
  20. },
  21. /* 完整版本最大时间 */
  22. intactMaxDate: {
  23. type: Number,
  24. value: Date.parse(new Date())+ 1000 * 60 * 60 * 24 * 3
  25. },
  26. /* 完整版本最小时间 */
  27. intactMinDate: {
  28. type: Number,
  29. value: Date.parse(new Date()) //当前时间
  30. },
  31. /* 弹窗显示 */
  32. showSelectTime: {
  33. type: Boolean,
  34. value: false
  35. },
  36. /* 保存回调 */
  37. getTimeData: {
  38. type: Function,
  39. }
  40. },
  41. /**
  42. * 组件的初始数据
  43. */
  44. data: {
  45. currentDate: new Date().getTime(),
  46. formatter(type, value) {
  47. if (type === 'year') {
  48. return `${value}年`;
  49. }
  50. if (type === 'month') {
  51. return `${value}月`;
  52. }
  53. return value;
  54. },
  55. },
  56. /**
  57. * 组件的方法列表
  58. */
  59. methods: {
  60. submit() {
  61. const time = new Date(this.data.currentDate);
  62. let setTime="";
  63. if(this.data.type=='YTD'){
  64. setTime = time.getFullYear() + '-' + (time.getMonth() + 1) + "-" + time.getDate();
  65. }else{
  66. setTime = time.getFullYear() + '-' + (time.getMonth() + 1) + "-" + time.getDate() + " " + time.getHours()+ ':' +time.getMinutes();
  67. }
  68. console.log(setTime)
  69. this.triggerEvent("getTimeData", setTime)
  70. this.setData({
  71. showSelectTime: false
  72. })
  73. },
  74. onInput(event) {
  75. this.setData({
  76. currentDate: event.detail,
  77. });
  78. },
  79. dateOnClose() {
  80. this.setData({
  81. showSelectTime: !this.data.showSelectTime
  82. })
  83. },
  84. }
  85. })