Merge branch 'develop' into devTee

This commit is contained in:
setthawutttty 2023-11-23 15:41:40 +07:00
commit 422ea07f4d
6 changed files with 233 additions and 99 deletions

View file

@ -28,11 +28,11 @@ function fecthLeaveList() {
//
const querySting = reactive<QuerySting>({
year: 0, //*( .)
year: new Date().getFullYear(), //*( .)
type: "00000000-0000-0000-0000-000000000000", //*Id
status: "ALL", //*
page: 1, //*
pageSize: 5, //*
pageSize: 10, //*
keyword: "", //keyword
});
const maxPage = ref<number>(1);
@ -54,7 +54,6 @@ function updatePaging(
querySting.page = newPage;
querySting.pageSize = pageSize;
querySting.keyword = dateFilter ? dateFilter.keyword : querySting.keyword;
console.log(querySting);
}
@ -102,7 +101,10 @@ onMounted(async () => {
</q-tabs>
</q-toolbar>
<div v-if="leaveStore.tabView === 'list'">
<ToolBar @update:querySting="updatePaging" />
<ToolBar
:rowsPerPage="querySting.pageSize"
@update:querySting="updatePaging"
/>
<TableList
:page="querySting.page"
:rowsPerPage="querySting.pageSize"

View file

@ -11,11 +11,18 @@ import { useLeavelistDataStore } from "@/modules/09_leave/stores/LeaveStore";
const leaveStore = useLeavelistDataStore();
const props = defineProps({
rowsPerPage: {
type: Number,
require: true,
},
});
const emit = defineEmits(["update:querySting"]);
/** formFilter*/
const filter = reactive<DateFilter>({
year: 0, //*( .)
year: new Date().getFullYear(), //*( .)
type: "00000000-0000-0000-0000-000000000000", //*Id
status: "ALL", //*
keyword: "", //keyword
@ -38,20 +45,14 @@ function updateQuerySting(
/** function ค้นหาข้อมูลใน Table*/
async function filterListLeave() {
filter.status && filter.type && (await updateQuerySting(1, 10, filter));
console.log("test");
// filter.status &&
// filter.type &&
// (await updateQuerySting(1, Number(props.rowsPerPage), filter));
}
/** Option*/
const optionYear = ref<DataOption2[]>([
{
id: 0,
name: "ทั้งหมด",
},
{
id: 2023,
name: "2566",
},
]);
const optionType = ref<DataOption[]>([
{
id: "00000000-0000-0000-0000-000000000000",
@ -138,19 +139,52 @@ onMounted(async () => {
<template>
<div class="row col-12 q-col-gutter-sm q-mb-sm">
<div class="col-xs-12 col-sm-3 col-md-2">
<q-select
<datepicker
menu-class-name="modalfix"
v-model="filter.year"
class="col-2"
:locale="'th'"
autoApply
year-picker
:enableTimePicker="false"
@update:model-value="filterListLeave"
>
<template #year="{ year }">{{ year + 543 }}</template>
<template #year-overlay-value="{ value }">{{
parseInt(value + 543)
}}</template>
<template #trigger>
<q-input
dense
lazy-rules
outlined
:model-value="Number(filter.year) + 543"
:label="`${'ปีงบประมาณ'}`"
>
<template v-slot:prepend>
<q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon>
</template>
</q-input>
</template>
</datepicker>
<!-- <q-select
for="selectYear"
emit-value
map-options
outlined
dense
v-model="filter.year"
:options="optionYear"
:options="optionStatus"
option-value="id"
option-label="name"
label="ปีงบประมาณ"
@update:model-value="filterListLeave"
/>
/> -->
</div>
<div class="col-xs-12 col-sm-3 col-md-2">
<q-select

View file

@ -1,10 +1,24 @@
<script setup lang="ts">
import { ref, reactive, watch } from "vue";
import { useCounterMixin } from "@/stores/mixin";
import { useQuasar } from "quasar";
import type {
FormData,
FormRef,
} from "@/modules/11_discipline/interface/request/director";
import http from "@/plugins/http";
import config from "@/app.config";
const $q = useQuasar();
const mixin = useCounterMixin();
const {
messageError,
showLoader,
dialogMessageNotify,
dialogConfirm,
success,
hideLoader,
} = mixin;
/**
* props มาจาก page หล
*/
@ -19,9 +33,7 @@ const props = defineProps({
},
});
const emit = defineEmits([
"formDataReturn"
])
const emit = defineEmits(["formDataReturn"]);
/**
* อมลรหสบตรประชาชน
*/
@ -33,13 +45,13 @@ const idCardRef = ref<any>(null);
* อมลทงกอน form
*/
const formData = reactive<FormData>({
personalId:"",
personalId: "",
prefix: "",
firstname: "",
lastname: "",
position: "",
phone: "",
email: ""
email: "",
});
/**
@ -61,8 +73,40 @@ watch(props.data, async () => {
* เพมบคลากร
*/
function addEmployee() {
if (idCardRef.value.validate()) {
if (idCard.value.length === 13) {
console.log("idCard===>", idCard.value);
showLoader();
http
.post(config.API.profileSearchPersonal(), {
fieldName: "idcard",
keyword: idCard.value,
})
.then((res) => {
const dataApi = res.data.result;
if (dataApi.length > 0) {
const dataList = dataApi[0];
formData.prefix = dataList.prefix;
formData.firstname = dataList.firstName;
formData.lastname = dataList.lastName;
formData.position = dataList.position;
formData.phone = dataList.phone;
formData.email = dataList.email;
} else {
dialogMessageNotify($q, "ไม่มีข้อมูลบุคคลากรที่ต้องการค้นหา");
}
})
.catch((e) => {
messageError($q, e);
})
.finally(async () => {
hideLoader();
});
}
if (idCard.value.length !== 13) {
hideLoader();
dialogMessageNotify($q, "กรุณากรอกเลขบัตรประชาชนให้ครบ 13 หลัก");
} else {
console.log("nodata");
}
}