POPUP ประวัติถือครอง

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2023-08-31 14:16:40 +07:00
parent e6c52c1b5d
commit 94996f6d28
3 changed files with 663 additions and 265 deletions

View file

@ -19,6 +19,7 @@
<div class="q-py-sm col-12 row">
<q-space />
<div class="items-center row col-12 q-gutter-x-sm">
<PopupHistory />
<q-btn
size="13px"
color="grey-7"
@ -118,269 +119,269 @@
<q-separator color="blue-1" />
<div class="dialog-card-contain">
<q-card-section class="q-pa-sm">
<div class="row col-12 q-col-gutter-xs">
<selector
class="col-4"
hide-bottom-space
:rules="[(val:string) => !!val || `${'กรุณาเลือก ประเภท'}`]"
outlined
dense
lazy-rules
:model-value="employeeClass"
emit-value
map-options
:options="employeeClassOps"
option-label="name"
option-value="id"
:label="`${'ประเภท'}`"
use-input
input-debounce="0"
@update:model-value="updateEmployeeClass"
/>
<!-- @filter="(inputValue:any,
<div class="row col-12 q-col-gutter-xs">
<selector
class="col-4"
hide-bottom-space
:rules="[(val:string) => !!val || `${'กรุณาเลือก ประเภท'}`]"
outlined
dense
lazy-rules
:model-value="employeeClass"
emit-value
map-options
:options="employeeClassOps"
option-label="name"
option-value="id"
:label="`${'ประเภท'}`"
use-input
input-debounce="0"
@update:model-value="updateEmployeeClass"
/>
<!-- @filter="(inputValue:any,
doneFn:Function) => filterSelector(inputValue, doneFn,'employeeTypeOps'
) " -->
<q-input
class="col-3"
clearable
dense
outlined
lazy-rules
:model-value="profileId"
hide-bottom-space
label="เลขประจำตัวประชาชน"
@update:model-value="updateProfileId"
type="number"
/>
<q-input
class="col-3"
clearable
dense
outlined
lazy-rules
:model-value="fullName"
hide-bottom-space
label="ชื่อ-นามสกุล"
@update:model-value="updateFullname"
/>
<datepicker
class="col-2"
menu-class-name="modalfix"
:model-value="retireYear"
:locale="'th'"
autoApply
year-picker
:enableTimePicker="false"
@update:model-value="updateRetireYear"
clearable
>
<template #year="{ year }">{{ year + 543 }}</template>
<template #year-overlay-value="{ value }">{{
parseInt(value + 543)
}}</template>
<template #trigger>
<q-input
class="inputgreen cursor-pointer"
hide-bottom-space
outlined
dense
lazy-rules
borderless
:model-value="
retireYear == null ? null : retireYear + 543
"
:label="`${'ปีเกษียณ'}`"
clearable
@clear="clearDate"
>
<!-- <template v-slot:prepend>
<q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon>
</template> -->
</q-input>
</template>
</datepicker>
<q-input
class="col-2"
clearable
dense
outlined
lazy-rules
:model-value="govAge"
hide-bottom-space
label="อายุราชการ(ปี)"
type="number"
@update:model-value="updateGovAge"
/>
<q-input
v-if="employeeClass == 'officer'"
clearable
dense
outlined
lazy-rules
:model-value="positionPath"
hide-bottom-space
label="ตำแหน่งในสายงาน"
@update:model-value="updatePositionPath"
class="col-3"
/>
<q-input
v-if="employeeClass == 'officer'"
clearable
dense
outlined
lazy-rules
:model-value="positionLevel"
hide-bottom-space
label="ระดับ"
@update:model-value="updatePositionLevel"
class="col-3"
/>
<q-input
v-if="employeeClass == 'officer'"
clearable
dense
outlined
lazy-rules
:model-value="positionExecutive"
hide-bottom-space
label="ตำแหน่งทางการบริหาร"
@update:model-value="updatePositionExecutive"
class="col-4"
/>
<q-input
v-if="employeeClass != 'officer'"
clearable
dense
outlined
lazy-rules
:model-value="employeePosition"
hide-bottom-space
label="ตำแหน่ง"
@update:model-value="updateEmployeePosition"
class="col-3"
/>
<q-input
v-if="employeeClass != 'officer'"
clearable
dense
outlined
lazy-rules
:model-value="employeeLevel"
hide-bottom-space
label="ระดับชั้นงาน"
@update:model-value="updateEmployeeLevel"
class="col-4"
/>
<q-input
clearable
dense
outlined
lazy-rules
:model-value="posNo"
hide-bottom-space
label="ตำแหน่งเลขที่"
@update:model-value="updatePosNo"
class="col-3"
/>
<datepicker
class="col-2"
menu-class-name="modalfix"
:model-value="reportYear"
:locale="'th'"
autoApply
year-picker
:enableTimePicker="false"
@update:model-value="updateReportYear"
clearable
>
<template #year="{ year }">{{ year + 543 }}</template>
<template #year-overlay-value="{ value }">{{
parseInt(value + 543)
}}</template>
<template #trigger>
<q-input
class="inputgreen cursor-pointer q-mb-sm"
hide-bottom-space
outlined
dense
lazy-rules
borderless
:model-value="
reportYear == null ? null : reportYear + 543
"
:label="`${'ปีงบประมาณ'}`"
clearable
@clear="clearReportDate"
>
<!-- <template v-slot:prepend>
<q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon>
</template> -->
</q-input>
</template>
</datepicker>
<q-input
clearable
dense
outlined
lazy-rules
:model-value="reportNo"
hide-bottom-space
label="เลขที่คำสั่ง"
@update:model-value="updateReportNo"
class="col-3"
/>
<q-input
clearable
dense
outlined
lazy-rules
:model-value="reportType"
hide-bottom-space
label="ประเภทคำสั่ง"
@update:model-value="updateReportType"
class="col-4"
/>
<q-toggle
dense
:model-value="isShowRetire"
color="primary"
@update:model-value="updateIsShowRetire"
class="q-pr-md"
>
แสดงขอมลผนจากราชการ
</q-toggle>
<q-toggle
dense
:model-value="isProbation"
color="primary"
@update:model-value="updateIsProbation"
>
ทดลองปฏหนาทราชการ
</q-toggle>
<q-space />
<div>
<q-btn
<q-input
class="col-3"
clearable
dense
outlined
lazy-rules
:model-value="profileId"
hide-bottom-space
label="เลขประจำตัวประชาชน"
@update:model-value="updateProfileId"
type="number"
/>
<q-input
class="col-3"
clearable
dense
outlined
lazy-rules
:model-value="fullName"
hide-bottom-space
label="ชื่อ-นามสกุล"
@update:model-value="updateFullname"
/>
<datepicker
class="col-2"
menu-class-name="modalfix"
:model-value="retireYear"
:locale="'th'"
autoApply
year-picker
:enableTimePicker="false"
@update:model-value="updateRetireYear"
clearable
>
<template #year="{ year }">{{ year + 543 }}</template>
<template #year-overlay-value="{ value }">{{
parseInt(value + 543)
}}</template>
<template #trigger>
<q-input
class="inputgreen cursor-pointer"
hide-bottom-space
outlined
dense
color="primary"
icon="mdi-magnify"
label="ค้นหา"
class="q-px-md"
@click="doSearch"
/>
</div>
lazy-rules
borderless
:model-value="
retireYear == null ? null : retireYear + 543
"
:label="`${'ปีเกษียณ'}`"
clearable
@clear="clearDate"
>
<!-- <template v-slot:prepend>
<q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon>
</template> -->
</q-input>
</template>
</datepicker>
<q-input
class="col-2"
clearable
dense
outlined
lazy-rules
:model-value="govAge"
hide-bottom-space
label="อายุราชการ(ปี)"
type="number"
@update:model-value="updateGovAge"
/>
<q-input
v-if="employeeClass == 'officer'"
clearable
dense
outlined
lazy-rules
:model-value="positionPath"
hide-bottom-space
label="ตำแหน่งในสายงาน"
@update:model-value="updatePositionPath"
class="col-3"
/>
<q-input
v-if="employeeClass == 'officer'"
clearable
dense
outlined
lazy-rules
:model-value="positionLevel"
hide-bottom-space
label="ระดับ"
@update:model-value="updatePositionLevel"
class="col-3"
/>
<q-input
v-if="employeeClass == 'officer'"
clearable
dense
outlined
lazy-rules
:model-value="positionExecutive"
hide-bottom-space
label="ตำแหน่งทางการบริหาร"
@update:model-value="updatePositionExecutive"
class="col-4"
/>
<q-input
v-if="employeeClass != 'officer'"
clearable
dense
outlined
lazy-rules
:model-value="employeePosition"
hide-bottom-space
label="ตำแหน่ง"
@update:model-value="updateEmployeePosition"
class="col-3"
/>
<q-input
v-if="employeeClass != 'officer'"
clearable
dense
outlined
lazy-rules
:model-value="employeeLevel"
hide-bottom-space
label="ระดับชั้นงาน"
@update:model-value="updateEmployeeLevel"
class="col-4"
/>
<q-input
clearable
dense
outlined
lazy-rules
:model-value="posNo"
hide-bottom-space
label="ตำแหน่งเลขที่"
@update:model-value="updatePosNo"
class="col-3"
/>
<datepicker
class="col-2"
menu-class-name="modalfix"
:model-value="reportYear"
:locale="'th'"
autoApply
year-picker
:enableTimePicker="false"
@update:model-value="updateReportYear"
clearable
>
<template #year="{ year }">{{ year + 543 }}</template>
<template #year-overlay-value="{ value }">{{
parseInt(value + 543)
}}</template>
<template #trigger>
<q-input
class="inputgreen cursor-pointer q-mb-sm"
hide-bottom-space
outlined
dense
lazy-rules
borderless
:model-value="
reportYear == null ? null : reportYear + 543
"
:label="`${'ปีงบประมาณ'}`"
clearable
@clear="clearReportDate"
>
<!-- <template v-slot:prepend>
<q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon>
</template> -->
</q-input>
</template>
</datepicker>
<q-input
clearable
dense
outlined
lazy-rules
:model-value="reportNo"
hide-bottom-space
label="เลขที่คำสั่ง"
@update:model-value="updateReportNo"
class="col-3"
/>
<q-input
clearable
dense
outlined
lazy-rules
:model-value="reportType"
hide-bottom-space
label="ประเภทคำสั่ง"
@update:model-value="updateReportType"
class="col-4"
/>
<q-toggle
dense
:model-value="isShowRetire"
color="primary"
@update:model-value="updateIsShowRetire"
class="q-pr-md"
>
แสดงขอมลผนจากราชการ
</q-toggle>
<q-toggle
dense
:model-value="isProbation"
color="primary"
@update:model-value="updateIsProbation"
>
ทดลองปฏหนาทราชการ
</q-toggle>
<q-space />
<div>
<q-btn
dense
color="primary"
icon="mdi-magnify"
label="ค้นหา"
class="q-px-md"
@click="doSearch"
/>
</div>
<!-- <div class="col-12 row q-col-gutter-y-md">
</div>
<!-- <div class="col-12 row q-col-gutter-y-md">
<div class="row q-gutter-md">
<q-radio
dense
@ -435,6 +436,7 @@
import { ref, useAttrs } from "vue";
import type { Pagination } from "@/modules/04_registry/interface/index/Main";
import type { DataOption } from "@/modules/04_registry/components/profileType";
import PopupHistory from "./PopupHistory.vue";
const attrs = ref<any>(useAttrs());
const table = ref<any>(null);
@ -578,7 +580,6 @@ const clearDate = () => {
const clearReportDate = () => {
emit("update:reportYear", null);
};
const clickSearchPanel = () => {
emit("update:retireYear", null);
emit("update:govAge", null);
@ -589,23 +590,18 @@ const clickSearchPanel = () => {
emit("update:employeeClass", null);
searchPanel.value = !searchPanel.value;
};
const paginationLabel = (start: string, end: string, total: string) => {
return start + "-" + end + " ใน " + total;
};
const doSearch = () => {
props.doSearch();
};
const onExport = () => {
props.onExport();
};
const onTab = () => {
props.onTab();
};
const resetFilter = () => {
// reset X
emit("update:inputfilter", "");