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

106 lines
2.6 KiB
Vue
Raw Normal View History

2023-10-20 16:57:32 +07:00
<script setup lang="ts">
//import Stores
import { useLeavelistDataStore } from "@/modules/09_leave/stores/LeaveStore";
const leaveStore = useLeavelistDataStore();
const { searchDataFn, filterOption } = leaveStore;
</script>
<template>
2023-10-20 17:01:01 +07:00
<q-toolbar style="padding: 0" class="q-gutter-sm q-mb-sm">
2023-10-20 16:57:32 +07:00
<div class="col-2">
<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-3">
<q-select
for="selectType"
2023-10-20 16:57:32 +07:00
emit-value
map-options
outlined
dense
v-model="leaveStore.selectType"
:options="leaveStore.optionType"
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-2">
<q-select
for="selectStatus"
2023-10-20 16:57:32 +07:00
v-if="leaveStore.tab == '2'"
emit-value
map-options
outlined
dense
v-model="leaveStore.selectStatus"
:options="leaveStore.optionStatus"
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')
"
/>
</div>
<q-space />
<div class="col-2">
<q-input
for="filterTable"
dense
outlined
v-model="leaveStore.filterTable"
label="ค้นหา"
/>
2023-10-20 16:57:32 +07:00
</div>
<div class="col-2">
<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>
</q-toolbar>
</template>
<style scoped></style>