selectDate_two.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. var app = getApp()
  2. var that;
  3. Component({
  4. mixins: [],
  5. data: {
  6. dateIndex: "1",
  7. year: app.globalData.year,//年
  8. month: app.globalData.month,//月
  9. jdYear: app.globalData.year,//季度年
  10. jdji: 0,//季度季
  11. jdArr: ['一季度', '二季度', '三季度', '四季度'],
  12. yearIndex:0,
  13. yearArr:app.globalData.yearArr,
  14. jdYearIndex:0,
  15. },
  16. props: {
  17. onClose: (data) => console.log(data),
  18. onConfirm: (data) => console.log(data),
  19. dateObj:{
  20. type:'3',
  21. date:app.globalData.month
  22. },
  23. },
  24. didMount() {
  25. this.setData({
  26. isShow: this.props.isShow,
  27. })
  28. if(this.props.dateObj.type){
  29. this.setData({
  30. dateIndex:this.props.dateObj.type,
  31. })
  32. if(this.props.dateObj.type==1){
  33. this.data.yearArr.forEach((item,index)=>{
  34. if(this.props.dateObj.date==item){
  35. this.setData({
  36. yearIndex:index,
  37. })
  38. }
  39. })
  40. }else if(this.props.dateObj.type==2){
  41. var data=String(this.props.dateObj.date);
  42. this.data.yearArr.forEach((item,index)=>{
  43. if(data.substr(0,4)==item){
  44. this.setData({
  45. jdYearIndex:index,
  46. })
  47. }
  48. })
  49. this.setData({
  50. jdji:data.substr(data.length-1,1)-1
  51. })
  52. }else{
  53. this.setData({
  54. month:this.props.dateObj.date,
  55. })
  56. }
  57. }
  58. },
  59. didUpdate() { },
  60. didUnmount() { },
  61. methods: {
  62. selectYear2(e) {
  63. this.setData({
  64. jdYearIndex: e.detail.value,
  65. });
  66. },
  67. selectYear(e) {
  68. this.setData({
  69. yearIndex: e.detail.value,
  70. });
  71. },
  72. setjdji(e) {
  73. this.setData({
  74. jdji: e.detail.value,
  75. });
  76. },
  77. onConfirm() {
  78. var obj;
  79. switch (this.data.dateIndex) {
  80. case "1":
  81. obj = {
  82. type: this.data.dateIndex,
  83. date: this.data.yearArr[this.data.yearIndex]
  84. }
  85. break
  86. case "2":
  87. var year=this.data.yearArr[this.data.jdYearIndex];
  88. var num=this.data.jdji;
  89. num++;
  90. let arrNew=new Array()
  91. arrNew.push(year)
  92. arrNew.push(num)
  93. let strNew=arrNew.join('')
  94. obj = {
  95. type: this.data.dateIndex,
  96. date:parseInt(strNew)
  97. }
  98. break
  99. case "3":
  100. obj = {
  101. type: this.data.dateIndex,
  102. date: this.data.month
  103. }
  104. break
  105. };
  106. this.props.onConfirm(obj);
  107. this.props.onClose();
  108. },
  109. onClose() {
  110. this.props.onClose();
  111. },
  112. selectDay() {
  113. dd.datePicker({
  114. format: 'yyyy',
  115. currentDate: this.data.jdYear,
  116. success: (res) => {
  117. this.setData({
  118. jdYear: res.date
  119. })
  120. },
  121. });
  122. },
  123. selectDay2() {
  124. },
  125. selectDate() {
  126. dd.datePicker({
  127. format: 'yyyy-MM',
  128. currentDate: this.data.month,
  129. success: (res) => {
  130. this.setData({
  131. month: res.date
  132. })
  133. },
  134. });
  135. },
  136. activeDate(e) {
  137. this.setData({ dateIndex: e.target.dataset.index })
  138. },
  139. },
  140. });