index2.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <template>
  2. <view>
  3. <view class="" style="height:1rpx">
  4. </view>
  5. <view class="picker-warp">
  6. <view class="left-icon" @click="nextDate(-1)">
  7. <uni-icons type="back" size="30"></uni-icons>
  8. </view>
  9. <view class="picker-content">
  10. <uni-datetime-picker type="date" :clear-icon="false" v-model="dateNum" @change="maskClick" />
  11. </view>
  12. <view class="right-icon" @click="nextDate(1)">
  13. <uni-icons type="forward" size="30"></uni-icons>
  14. </view>
  15. </view>
  16. </view>
  17. </template>
  18. <script>
  19. import {format} from '../../util/uitl.js'
  20. export default {
  21. props: {
  22. date: {
  23. type: String,
  24. default:null
  25. }
  26. },
  27. watch: {
  28. value: {
  29. handler() {
  30. this.$emit("input", this.value)
  31. },
  32. deep: true,
  33. immediate: true,
  34. },
  35. },
  36. data() {
  37. return {
  38. dateNum:this.date,
  39. typeList:[{
  40. name:"本日",
  41. type:0,
  42. },{
  43. name:"昨日",
  44. type:1,
  45. },{
  46. name:"本周",
  47. type:2,
  48. },{
  49. name:"上周",
  50. type:3,
  51. },{
  52. name:"本月",
  53. type:4,
  54. },{
  55. name:"上月",
  56. type:5,
  57. }],
  58. modalTimeList:[
  59. {
  60. name:"昨日",
  61. type:1,
  62. },{
  63. name:"前日",
  64. type:2,
  65. },{
  66. name:"上周",
  67. type:3,
  68. },{
  69. name:"上月",
  70. type:4,
  71. },{
  72. name:"近三个月",
  73. type:5,
  74. },{
  75. name:"近半年",
  76. type:6,
  77. }
  78. ],
  79. modalTimeType:null,
  80. }
  81. },
  82. methods:{
  83. maskClick(e){
  84. this.$emit('change', e)
  85. },
  86. nextDate(num){
  87. this.dateNum = this.getNextDate(this.dateNum,num)
  88. this.$emit('change', this.dateNum)
  89. },
  90. getNextDate(date, day) {
  91.   var dd = new Date(date);
  92.   dd.setDate(dd.getDate() + day);
  93.   var y = dd.getFullYear();
  94.   var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
  95.   var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
  96.   return y + "-" + m + "-" + d;
  97. }
  98. },
  99. created() {
  100. console.log()
  101. },
  102. }
  103. </script>
  104. <style lang="less">
  105. .picker-content{
  106. }
  107. .picker-warp{
  108. display: flex;
  109. background-color: #fff;
  110. margin: 10rpx 30rpx;
  111. .left-icon,.right-icon{
  112. width: 10%;
  113. text-align: center;
  114. position: relative;
  115. top: 10rpx;
  116. }
  117. .picker-content{
  118. width: 80%;
  119. }
  120. }
  121. </style>