fix: also consider date & datetime field
This commit is contained in:
parent
ddb81c2e3e
commit
b8b2d34ba6
@ -14,6 +14,7 @@
|
|||||||
'form-input block h-7 w-full cursor-pointer select-none rounded border-gray-400 text-sm placeholder-gray-500',
|
'form-input block h-7 w-full cursor-pointer select-none rounded border-gray-400 text-sm placeholder-gray-500',
|
||||||
inputClass,
|
inputClass,
|
||||||
]"
|
]"
|
||||||
|
v-bind="$attrs"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #body="{ togglePopover }">
|
<template #body="{ togglePopover }">
|
||||||
|
|||||||
@ -276,6 +276,8 @@ function getOperators(fieldtype, fieldname) {
|
|||||||
if (typeDate.includes(fieldtype)) {
|
if (typeDate.includes(fieldtype)) {
|
||||||
options.push(
|
options.push(
|
||||||
...[
|
...[
|
||||||
|
{ label: __('Equals'), value: 'equals' },
|
||||||
|
{ label: __('Not Equals'), value: 'not equals' },
|
||||||
{ label: __('Is'), value: 'is' },
|
{ label: __('Is'), value: 'is' },
|
||||||
{ label: __('>'), value: '>' },
|
{ label: __('>'), value: '>' },
|
||||||
{ label: __('<'), value: '<' },
|
{ label: __('<'), value: '<' },
|
||||||
|
|||||||
@ -61,6 +61,14 @@
|
|||||||
:placeholder="filter.label"
|
:placeholder="filter.label"
|
||||||
@change="(data) => applyQuickFilter(filter, data)"
|
@change="(data) => applyQuickFilter(filter, data)"
|
||||||
/>
|
/>
|
||||||
|
<component
|
||||||
|
v-else-if="['Date', 'Datetime'].includes(filter.type)"
|
||||||
|
class="border-none"
|
||||||
|
:is="filter.type === 'Date' ? DatePicker : DatetimePicker"
|
||||||
|
:value="filter.value"
|
||||||
|
@change="(v) => applyQuickFilter(filter, v)"
|
||||||
|
:placeholder="filter.label"
|
||||||
|
/>
|
||||||
<FormControl
|
<FormControl
|
||||||
v-else
|
v-else
|
||||||
:value="filter.value"
|
:value="filter.value"
|
||||||
@ -181,6 +189,8 @@
|
|||||||
</Dialog>
|
</Dialog>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import DatePicker from '@/components/Controls/DatePicker.vue'
|
||||||
|
import DatetimePicker from '@/components/Controls/DatetimePicker.vue'
|
||||||
import Link from '@/components/Controls/Link.vue'
|
import Link from '@/components/Controls/Link.vue'
|
||||||
import RefreshIcon from '@/components/Icons/RefreshIcon.vue'
|
import RefreshIcon from '@/components/Icons/RefreshIcon.vue'
|
||||||
import EditIcon from '@/components/Icons/EditIcon.vue'
|
import EditIcon from '@/components/Icons/EditIcon.vue'
|
||||||
@ -444,7 +454,7 @@ const quickFilterList = computed(() => {
|
|||||||
filters.forEach((filter) => {
|
filters.forEach((filter) => {
|
||||||
filter['value'] = filter.type == 'Check' ? false : ''
|
filter['value'] = filter.type == 'Check' ? false : ''
|
||||||
if (list.value.params?.filters[filter.name]) {
|
if (list.value.params?.filters[filter.name]) {
|
||||||
if (['Check', 'Select'].includes(filter.type)) {
|
if (['Check', 'Select', 'Date', 'Datetime'].includes(filter.type)) {
|
||||||
filter['value'] = list.value.params.filters[filter.name]
|
filter['value'] = list.value.params.filters[filter.name]
|
||||||
} else {
|
} else {
|
||||||
let value = list.value.params.filters[filter.name]
|
let value = list.value.params.filters[filter.name]
|
||||||
@ -467,7 +477,7 @@ function applyQuickFilter(filter, value) {
|
|||||||
let filters = { ...list.value.params.filters }
|
let filters = { ...list.value.params.filters }
|
||||||
let field = filter.name
|
let field = filter.name
|
||||||
if (value) {
|
if (value) {
|
||||||
if (['Check', 'Select'].includes(filter.type)) {
|
if (['Check', 'Select', 'Date', 'Datetime'].includes(filter.type)) {
|
||||||
filters[field] = value
|
filters[field] = value
|
||||||
} else {
|
} else {
|
||||||
filters[field] = ['LIKE', `%${value}%`]
|
filters[field] = ['LIKE', `%${value}%`]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user