| | |
| | | <view v-if="datePickerVisible" class="date-sheet"> |
| | | <view class="date-sheet-head"><text class="date-sheet-title">选择日期区间</text><image class="close-icon" src="/static/icons/lucide/x.svg" mode="aspectFit" @tap="closeDateFilter"></image></view> |
| | | <view class="date-fields"> |
| | | <view class="date-field" :class="activeDateField == 'start' ? 'active' : ''" @tap="selectDateField('start')"><text class="date-field-label">起始日期</text><text class="date-field-value">{{startDate}}</text></view> |
| | | <view class="date-field" :class="activeDateField == 'start' ? 'active' : ''" @tap="selectDateField('start')"><text class="date-field-label">起始日期</text><text class="date-field-value" :class="startDate == datePlaceholder ? 'placeholder' : ''">{{startDate}}</text></view> |
| | | <view class="date-field" :class="activeDateField == 'end' ? 'active' : ''" @tap="selectDateField('end')"><text class="date-field-label">截止日期</text><text class="date-field-value" :class="endDate == datePlaceholder ? 'placeholder' : ''">{{endDate}}</text></view> |
| | | </view> |
| | | <picker-view class="date-picker" :value="pickerIndexes" :indicator-style="pickerIndicatorStyle" :mask-style="pickerMaskStyle" @change="onPickerChange"> |
| | |
| | | const days = ref(allDays.slice(0, currentDay.value)) |
| | | const defaultDate = ref(currentYear.value.toString() + '年' + currentMonth.value.toString() + '月' + currentDay.value.toString() + '日') |
| | | const defaultDateValue = ref(currentYear.value * 10000 + currentMonth.value * 100 + currentDay.value) |
| | | const startDate = ref(defaultDate.value) |
| | | const startDate = ref(datePlaceholder) |
| | | const endDate = ref(datePlaceholder) |
| | | const startDateValue = ref(defaultDateValue.value) |
| | | const startDateValue = ref(0) |
| | | const endDateValue = ref(0) |
| | | const dateFilterText = ref('时间筛选') |
| | | const pickerIndexes = ref([2, currentMonth.value - 1, currentDay.value - 1]) |
| | |
| | | months.value = allMonths.slice(0, month); days.value = allDays.slice(0, day) |
| | | defaultDate.value = year.toString() + '年' + month.toString() + '月' + day.toString() + '日' |
| | | defaultDateValue.value = year * 10000 + month * 100 + day |
| | | if (!dateFilterApplied.value) { startDate.value = defaultDate.value; startDateValue.value = defaultDateValue.value; endDate.value = datePlaceholder; endDateValue.value = 0; pickerIndexes.value = [2, month - 1, day - 1] } |
| | | if (!dateFilterApplied.value) { startDate.value = datePlaceholder; startDateValue.value = 0; endDate.value = datePlaceholder; endDateValue.value = 0; pickerIndexes.value = [2, month - 1, day - 1] } |
| | | } |
| | | |
| | | const buildOrderQuery = (page: number): MerchantOrderQuery => ({ |
| | |
| | | const selectDateField = (field: string) => { |
| | | activeDateField.value = field |
| | | if (field == 'start') { |
| | | setPickerDate(startDateValue.value) |
| | | setPickerDate(startDateValue.value > 0 ? startDateValue.value : defaultDateValue.value) |
| | | } else { |
| | | if (endDateValue.value == 0) { |
| | | endDateValue.value = startDateValue.value |
| | |
| | | |
| | | const resetDateFilter = () => { |
| | | activeDateField.value = 'start' |
| | | startDate.value = defaultDate.value |
| | | startDate.value = datePlaceholder |
| | | endDate.value = datePlaceholder |
| | | startDateValue.value = defaultDateValue.value |
| | | startDateValue.value = 0 |
| | | endDateValue.value = 0 |
| | | months.value = allMonths.slice(0, currentMonth.value) |
| | | days.value = allDays.slice(0, currentDay.value) |
| | |
| | | } |
| | | |
| | | const confirmDateFilter = () => { |
| | | if (endDateValue.value > 0 && startDateValue.value <= endDateValue.value) { |
| | | if (startDateValue.value > 0 && endDateValue.value > 0 && startDateValue.value <= endDateValue.value) { |
| | | datePickerVisible.value = false |
| | | dateFilterText.value = '已选日期' |
| | | dateFilterApplied.value = true |