hrms-mgt/src/modules/09_leave/components/2_Leave/ToolBar.vue

109 lines
2.9 KiB
Vue
Raw Normal View History

2023-10-20 16:57:32 +07:00
<script setup lang="ts">
/** importStores*/
2023-10-20 16:57:32 +07:00
import { useLeavelistDataStore } from "@/modules/09_leave/stores/LeaveStore";
const leaveStore = useLeavelistDataStore();
const { searchDataFn, filterOption } = leaveStore;
</script>
<template>
<div class="row col-12 q-col-gutter-sm q-mb-sm">
<div class="col-xs-12 col-sm-3 col-md-2">
2023-10-20 16:57:32 +07:00
<q-select
for="selectYear"
2023-10-20 16:57:32 +07:00
emit-value
map-options
outlined
dense
v-model="leaveStore.selectYear"
:options="leaveStore.optionYear"
option-value="id"
option-label="name"
label="ปีงบประมาณ"
/>
</div>
<div class="col-xs-12 col-sm-3 col-md-2">
2023-10-20 16:57:32 +07:00
<q-select
for="selectType"
2023-10-20 16:57:32 +07:00
emit-value
map-options
outlined
dense
v-model="leaveStore.selectType"
2023-11-06 12:12:54 +07:00
:options="leaveStore.leaveOps"
2023-10-20 16:57:32 +07:00
option-value="id"
option-label="name"
label="ประเภทการลา"
@update:model-value="
searchDataFn(leaveStore.selectType, leaveStore.selectStatus)
"
use-input
@filter="
(inputValue:any, doneFn:Function) =>
filterOption(inputValue, doneFn, 'type')
"
>
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey"> ไมอม </q-item-section>
</q-item>
</template></q-select
>
</div>
<div class="col-xs-12 col-sm-3 col-md-2">
2023-10-20 16:57:32 +07:00
<q-select
for="selectStatus"
2023-10-20 16:57:32 +07:00
emit-value
map-options
outlined
dense
v-model="leaveStore.selectStatus"
2023-11-06 12:12:54 +07:00
:options="leaveStore.statusOps"
2023-10-20 16:57:32 +07:00
option-value="id"
option-label="name"
label="สถานะ"
@update:model-value="
searchDataFn(leaveStore.selectType, leaveStore.selectStatus)
"
use-input
@filter="
(inputValue:any, doneFn:Function) =>
filterOption(inputValue, doneFn, 'status')
"
>
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey"> ไมอม </q-item-section>
</q-item>
</template></q-select
>
2023-10-20 16:57:32 +07:00
</div>
<q-space />
<div class="col-xs-12 col-sm-3 col-md-2">
<q-input
for="filterTable"
dense
outlined
v-model="leaveStore.filterTable"
label="ค้นหา"
/>
2023-10-20 16:57:32 +07:00
</div>
<div class="col-xs-12 col-sm-3 col-md-2">
2023-10-20 16:57:32 +07:00
<q-select
for="visibleColumns"
2023-10-20 16:57:32 +07:00
v-model="leaveStore.visibleColumns"
multiple
outlined
dense
options-dense
:display-value="$q.lang.table.columns"
emit-value
map-options
:options="leaveStore.columns"
option-value="name"
options-cover
/>
</div>
</div>
</template>