|
|
@@ -6,21 +6,28 @@ import { pickBy } from 'lodash'
|
|
6
|
6
|
import { computed } from '@vue/reactivity'
|
|
7
|
7
|
|
|
8
|
8
|
const props = defineProps({
|
|
9
|
|
- initialFilter: {
|
|
|
9
|
+ initialDateRage: {
|
|
10
|
10
|
type: Object,
|
|
11
|
11
|
required: true,
|
|
12
|
12
|
},
|
|
|
13
|
+ nameParam: {
|
|
|
14
|
+ type: Array,
|
|
|
15
|
+ required: true,
|
|
|
16
|
+ },
|
|
13
|
17
|
})
|
|
14
|
18
|
|
|
15
|
|
-const initialFilter = computed(() => {
|
|
16
|
|
- if (props.initialFilter.start_date || props.initialFilter.end_date) {
|
|
17
|
|
- if (props.initialFilter.end_date) {
|
|
|
19
|
+const initialDateRage = computed(() => {
|
|
|
20
|
+ if (
|
|
|
21
|
+ props.initialDateRage[props.nameParam[0]] ||
|
|
|
22
|
+ props.initialDateRage[props.nameParam[1]]
|
|
|
23
|
+ ) {
|
|
|
24
|
+ if (props.initialDateRage[props.nameParam[1]]) {
|
|
18
|
25
|
return [
|
|
19
|
|
- new Date(props.initialFilter.start_date),
|
|
20
|
|
- new Date(props.initialFilter.end_date),
|
|
|
26
|
+ new Date(props.initialDateRage[props.nameParam[0]]),
|
|
|
27
|
+ new Date(props.initialDateRage[props.nameParam[1]]),
|
|
21
|
28
|
]
|
|
22
|
29
|
} else {
|
|
23
|
|
- return [new Date(props.initialFilter.start_date), null]
|
|
|
30
|
+ return [new Date(props.initialDateRage[props.nameParam[0]]), null]
|
|
24
|
31
|
}
|
|
25
|
32
|
}
|
|
26
|
33
|
})
|
|
|
@@ -33,25 +40,25 @@ const removeParams = (...params) => {
|
|
33
|
40
|
history.replaceState({}, '', `${location.pathname}?${urlParams}`)
|
|
34
|
41
|
}
|
|
35
|
42
|
|
|
36
|
|
-const dates = ref(initialFilter.value)
|
|
|
43
|
+const dates = ref(initialDateRage.value)
|
|
37
|
44
|
|
|
38
|
45
|
watch(dates, (value) => {
|
|
39
|
46
|
if (value[1]) {
|
|
40
|
|
- var start_date = dayjs(value[0]).format('YYYY-MM-DD')
|
|
|
47
|
+ var start = dayjs(value[0]).format('YYYY-MM-DD')
|
|
41
|
48
|
|
|
42
|
|
- var end_date = dayjs(value[1]).format('YYYY-MM-DD')
|
|
|
49
|
+ var end = dayjs(value[1]).format('YYYY-MM-DD')
|
|
43
|
50
|
} else if (value[0]) {
|
|
44
|
|
- var start_date = dayjs(value[0]).format('YYYY-MM-DD')
|
|
|
51
|
+ var start = dayjs(value[0]).format('YYYY-MM-DD')
|
|
45
|
52
|
|
|
46
|
|
- var end_date = null
|
|
|
53
|
+ var end = null
|
|
47
|
54
|
}
|
|
48
|
55
|
|
|
49
|
|
- removeParams('start_date', 'end_date', 'page')
|
|
|
56
|
+ removeParams(props.nameParam[0], props.nameParam[1], 'page')
|
|
50
|
57
|
|
|
51
|
58
|
Inertia.reload({
|
|
52
|
59
|
data: pickBy({
|
|
53
|
|
- start_date,
|
|
54
|
|
- end_date,
|
|
|
60
|
+ [props.nameParam[0]]: start,
|
|
|
61
|
+ [props.nameParam[1]]: end,
|
|
55
|
62
|
}),
|
|
56
|
63
|
})
|
|
57
|
64
|
})
|