index.vue 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <template>
  2. <view >
  3. <uni-popup ref="popup" type="bottom" background-color="#fff">
  4. <view class="popup-box">
  5. <view class="flex justify-between popup-title" >
  6. <text @tap="onCancel">取消</text>
  7. <text style=" font-size: 34upx;">{{ title }}</text>
  8. <text style=" color: #449AFF ;" @tap="onConfirm">确定</text>
  9. </view>
  10. <view class="year" v-if="isYear">
  11. <view class="day" :class="currentIndex == index?'active':''" v-for="(item,index) in dateList" :key="index" @click="selectYear(item,index)">
  12. {{item.name}}
  13. </view>
  14. </view>
  15. <view class="select-date-wrapper">
  16. <view class="select-date" :class="{ active: activeDate == 'startDate' }" @tap="onTapStartDate">
  17. <view class="select-date-value" v-if="startDate">{{ startDate }}</view>
  18. <view class="select-date-placeholder" v-else>开始时间</view>
  19. </view>
  20. <view style="margin: 0 16px">至</view>
  21. <view class="select-date" :class="{ active: activeDate == 'endDate' }" @tap="onTapEndDate">
  22. <view class="select-date-value" v-if="endDate">{{ endDate }}</view>
  23. <view class="select-date-placeholder" v-else>结束时间</view>
  24. </view>
  25. </view>
  26. <DateTimePicker
  27. v-if="showStartDatePicker"
  28. @onChange="onChangeStartDate"
  29. :defaultDate="startDate"
  30. :minDate="minDate || ''"
  31. :maxDate="endDate || maxDate || ''"
  32. :mode="mode"
  33. />
  34. <DateTimePicker
  35. v-if="showEndDatePicker"
  36. @onChange="onChangeEndDate"
  37. :defaultDate="endDate"
  38. :minDate="startDate || minDate || ''"
  39. :maxDate="maxDate || ''"
  40. :mode="mode"
  41. />
  42. <!-- <view class="btn-group" v-if="showStartDatePicker || showEndDatePicker">
  43. <view class="btn-cancel" @tap="onCancel">取消</view>
  44. <view class="btn-confirm" @tap="onConfirm">确定</view>
  45. </view> -->
  46. </view>
  47. </uni-popup>
  48. </view>
  49. </template>
  50. <script src="./index.js"></script>
  51. <style lang="css" scoped src="./index.css"></style>
  52. <style lang="scss" scoped>
  53. .year{
  54. width: 100%;
  55. display: flex;
  56. justify-content: space-between;
  57. margin-top: 24rpx;
  58. margin-bottom: 24rpx;
  59. }
  60. .day{
  61. width: 205rpx;
  62. height: 50rpx;
  63. border-radius: 4rpx;
  64. border: 1px solid #DDDDDD;
  65. font-size: 28rpx;
  66. color: #999999;
  67. display: flex;
  68. align-items: center;
  69. justify-content: center;
  70. }
  71. .active{
  72. background: rgba(68,154,255,0.1);
  73. border: 1px solid #449AFF;
  74. color: #449AFF;
  75. }
  76. </style>