get post pu delete

This commit is contained in:
setthawutttty 2024-02-09 13:20:18 +07:00
parent 7623a1e762
commit 16340d9ff5
3 changed files with 113 additions and 130 deletions

View file

@ -214,7 +214,7 @@
<div class="col-6"> <div class="col-6">
<datepicker <datepicker
menu-class-name="modalfix" menu-class-name="modalfix"
v-model="formData.year" v-model="formData.leaveYear"
class="col-2" class="col-2"
:locale="'th'" :locale="'th'"
autoApply autoApply
@ -237,7 +237,9 @@
:readonly="!edit" :readonly="!edit"
:borderless="!edit" :borderless="!edit"
:model-value=" :model-value="
formData.year === 0 ? null : Number(formData.year) + 543 formData.leaveYear === 0
? null
: Number(formData.leaveYear) + 543
" "
:label="`${'ปี'}`" :label="`${'ปี'}`"
> >
@ -249,10 +251,10 @@
> >
</q-icon> </q-icon>
</template> </template>
<template v-if="formData.year && edit" v-slot:append> <template v-if="formData.leaveYear && edit" v-slot:append>
<q-icon <q-icon
name="cancel" name="cancel"
@click.stop.prevent="formData.year = 0" @click.stop.prevent="formData.leaveYear = 0"
class="cursor-pointer" class="cursor-pointer"
/> />
</template> </template>
@ -263,7 +265,7 @@
<div class="col-6"> <div class="col-6">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
v-model="formData.sick" v-model="formData.sumSick"
label="ลาป่วย" label="ลาป่วย"
dense dense
:outlined="edit" :outlined="edit"
@ -274,7 +276,7 @@
<div class="col-6"> <div class="col-6">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
v-model="formData.absence" v-model="formData.sumRest"
label="ลากิจและพักผ่อน" label="ลากิจและพักผ่อน"
dense dense
:outlined="edit" :outlined="edit"
@ -285,7 +287,7 @@
<div class="col-6"> <div class="col-6">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
v-model="formData.late" v-model="formData.sumLate"
label="มาสาย" label="มาสาย"
dense dense
:outlined="edit" :outlined="edit"
@ -296,7 +298,7 @@
<div class="col-6"> <div class="col-6">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
v-model="formData.government" v-model="formData.sumAbsent"
label="ขาดราชการ" label="ขาดราชการ"
dense dense
:outlined="edit" :outlined="edit"
@ -307,7 +309,7 @@
<div class="col-6"> <div class="col-6">
<q-input <q-input
:class="getClass(edit)" :class="getClass(edit)"
v-model="formData.study" v-model="formData.sumEducation"
label="ลาศึกษาต่อ" label="ลาศึกษาต่อ"
dense dense
:outlined="edit" :outlined="edit"
@ -482,12 +484,12 @@ const { profileData, changeProfileColumns } = store;
const formData = reactive<DetailData>({ const formData = reactive<DetailData>({
id: "", id: "",
sick: "", sumSick: "",
absence: "", sumRest: "",
late: "", sumLate: "",
government: "", sumAbsent: "",
study: "", sumEducation: "",
year: new Date().getFullYear(), leaveYear: new Date().getFullYear(),
}); });
const mixin = useCounterMixin(); const mixin = useCounterMixin();
@ -500,6 +502,7 @@ const {
dateToISO, dateToISO,
showLoader, showLoader,
hideLoader, hideLoader,
dialogConfirm,
} = mixin; } = mixin;
const route = useRoute(); const route = useRoute();
@ -581,12 +584,12 @@ const filter = ref<string>(""); //search data table
/** NEW */ /** NEW */
const visibleColumns = ref<String[]>([ const visibleColumns = ref<String[]>([
"no", "no",
"year", "leaveYear",
"sick", "sumSick",
"absence", "sumRest",
"late", "sumLate",
"government", "sumAbsent",
"study", "sumEducation",
]); ]);
/** old */ /** old */
@ -695,66 +698,66 @@ const columns = ref<QTableProps["columns"]>([
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "year", name: "leaveYear",
align: "left", align: "left",
label: "ปี", label: "ปี",
sortable: true, sortable: true,
field: "year", field: "leaveYear",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) => sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "sick", name: "sumSick",
align: "left", align: "left",
label: "ลาป่วย", label: "ลาป่วย",
sortable: true, sortable: true,
field: "sick", field: "sumSick",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) => sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "absence", name: "sumRest",
align: "left", align: "left",
label: "ลากิจและพักผ่อน", label: "ลากิจและพักผ่อน",
sortable: true, sortable: true,
field: "absence", field: "sumRest",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) => sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "late", name: "sumLate",
align: "left", align: "left",
label: "มาสาย", label: "มาสาย",
sortable: true, sortable: true,
field: "late", field: "sumLate",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) => sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "government", name: "sumAbsent",
align: "left", align: "left",
label: "ขาดราชการ", label: "ขาดราชการ",
sortable: true, sortable: true,
field: "government", field: "sumAbsent",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) => sort: (a: string, b: string) =>
a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
}, },
{ {
name: "study", name: "sumEducation",
align: "left", align: "left",
label: "ลาศึกษาต่อ", label: "ลาศึกษาต่อ",
sortable: true, sortable: true,
field: "study", field: "sumEducation",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
sort: (a: string, b: string) => sort: (a: string, b: string) =>
@ -930,41 +933,20 @@ const fetchData = async () => {
await http await http
.get(config.API.profileLeaveId(profileId.value)) .get(config.API.profileLeaveId(profileId.value))
.then((res) => { .then((res) => {
const data = [ // rows.value = data
{ const data = res.data.result;
id: "11", console.log(data);
sick: "11", data.map((e: DetailData) => {
absence: "11", rows.value.push({
late: "11", id: e.id,
government: "11", sumSick: e.sumSick ? e.sumSick : "-",
study: "11", sumRest: e.sumRest ? e.sumRest : "-",
year: new Date().getFullYear(), sumLate: e.sumLate ? e.sumLate : "-",
}, sumAbsent: e.sumAbsent ? e.sumAbsent : "-",
{ sumEducation: e.sumEducation ? e.sumEducation : "-",
id: "22", leaveYear: e.leaveYear ? Number(e.leaveYear) + 543 : "-",
sick: "22", });
absence: "22", });
late: "22",
government: "22",
study: "22",
year: new Date().getFullYear(),
},
];
rows.value = data
// const data = res.data.result;
// data.map((e: DetailData) => {
// rows.value.push({
// id: e.id,
// sick: e.sick ? e.sick : "-",
// absence: e.absence ? e.absence : "-",
// late: e.late ? e.late : "-",
// government: e.government ? e.government : "-",
// study: e.study ? e.study : "-",
// year: e.year ? e.year : "-",
// });
// });
}) })
.catch((e) => { .catch((e) => {
// messageError($q, e); // messageError($q, e);
@ -1010,12 +992,12 @@ const clickHistory = async (row: RequestItemsObject) => {
data.map((e: ResponseObject) => { data.map((e: ResponseObject) => {
rowsHistory.value.push({ rowsHistory.value.push({
id: e.id, id: e.id,
sick: e.sick ? e.sick : "-", sumSick: e.sumSick ? e.sumSick : "-",
absence: e.absence ? e.absence : "-", sumRest: e.sumRest ? e.sumRest : "-",
late: e.late ? e.late : "-", sumLate: e.sumLate ? e.sumLate : "-",
government: e.government ? e.government : "-", sumAbsent: e.sumAbsent ? e.sumAbsent : "-",
study: e.study ? e.study : "-", sumEducation: e.sumEducation ? e.sumEducation : "-",
year: e.year ? e.year : "-", leaveYear: e.leaveYear ? e.leaveYear : "-",
}); });
}); });
}) })
@ -1081,12 +1063,12 @@ const getData = () => {
// coupleDay.value = row.coupleDay; // coupleDay.value = row.coupleDay;
// therapyDay.value = row.therapyDay; // therapyDay.value = row.therapyDay;
formData.id = row.id; formData.id = row.id;
formData.sick = row.sick; formData.sumSick = row.sumSick =='-' ? '':row.sumSick;
formData.absence = row.absence; formData.sumRest = row.sumRest =='-' ? '':row.sumRest;
formData.late = row.late; formData.sumLate = row.sumLate =='-' ? '':row.sumLate;
formData.government = row.government; formData.sumAbsent = row.sumAbsent =='-' ? '':row.sumAbsent;
formData.study = row.study; formData.sumEducation = row.sumEducation =='-' ? '':row.sumEducation;
formData.year = row.year == "-" ? 0 : row.year; formData.leaveYear = row.leaveYear == "-" ? 0 : Number(row.leaveYear) - 543;
// id.value = row.id; // id.value = row.id;
// typeLeave.value = row.typeLeaveId; // typeLeave.value = row.typeLeaveId;
@ -1187,9 +1169,13 @@ const clickSave = async () => {
myFormAdd.value.validate().then(async (result: boolean) => { myFormAdd.value.validate().then(async (result: boolean) => {
if (result) { if (result) {
if (modalEdit.value) { if (modalEdit.value) {
await editData(); await dialogConfirm($q, () => {
editData();
});
} else { } else {
await saveData(); await dialogConfirm($q, () => {
saveData();
});
} }
} }
}); });
@ -1205,14 +1191,12 @@ const saveData = async () => {
showLoader(); showLoader();
await http await http
.post(config.API.profileLeaveId(profileId.value), { .post(config.API.profileLeaveId(profileId.value), {
dateStartLeave: dateToISO(dateRange.value[0]), leaveYear: formData.leaveYear,
dateEndLeave: dateToISO(dateRange.value[1]), sumSick: formData.sumSick,
numLeave: numLeave.value, sumRest: formData.sumRest,
sumLeave: numUsedLeave.value, sumLate: formData.sumLate,
totalLeave: sum, sumAbsent: formData.sumAbsent,
status: statLeave.value, sumEducation: formData.sumEducation,
reason: reason.value,
typeLeaveId: typeLeave.value,
}) })
.then((res) => { .then((res) => {
success($q, "บันทึกข้อมูลสำเร็จ"); success($q, "บันทึกข้อมูลสำเร็จ");
@ -1235,15 +1219,13 @@ const editData = async () => {
showLoader(); showLoader();
await http await http
.put(config.API.profileLeaveId(id.value), { .put(config.API.profileLeaveId(formData.id), {
dateStartLeave: dateToISO(dateRange.value[0]), leaveYear: formData.leaveYear,
dateEndLeave: dateToISO(dateRange.value[1]), sumSick: formData.sumSick,
numLeave: numLeave.value, sumRest: formData.sumRest,
sumLeave: numUsedLeave.value, sumLate: formData.sumLate,
totalLeave: sum, sumAbsent: formData.sumAbsent,
status: statLeave.value, sumEducation: formData.sumEducation,
reason: reason.value,
typeLeaveId: typeLeave.value,
}) })
.then((res) => { .then((res) => {
success($q, "บันทึกข้อมูลสำเร็จ"); success($q, "บันทึกข้อมูลสำเร็จ");
@ -1260,7 +1242,7 @@ const editData = async () => {
const deleteData = async () => { const deleteData = async () => {
showLoader(); showLoader();
await http await http
.delete(config.API.profileLeaveId(id.value)) .delete(config.API.profileLeaveId(formData.id))
.then((res) => { .then((res) => {
success($q, "ลบข้อมูลสำเร็จ"); success($q, "ลบข้อมูลสำเร็จ");
modalAdd.value = false; modalAdd.value = false;
@ -1346,6 +1328,7 @@ const clickClose = async () => {
// * @param props props row // * @param props props row
// */ // */
const selectData = async (props: DataProps) => { const selectData = async (props: DataProps) => {
console.log(props);
modalEdit.value = true; modalEdit.value = true;
// modal.value = true; // modal.value = true;
modalAdd.value = true; modalAdd.value = true;
@ -1353,12 +1336,12 @@ const selectData = async (props: DataProps) => {
rowIndex.value = props.rowIndex; rowIndex.value = props.rowIndex;
formData.id = props.row.id; formData.id = props.row.id;
formData.sick = props.row.sick; formData.sumSick = props.row.sumSick == '-' ? '':props.row.sumSick;
formData.absence = props.row.absence; formData.sumRest = props.row.sumRest == '-' ? '':props.row.sumRest;
formData.late = props.row.late; formData.sumLate = props.row.sumLate == '-' ? '':props.row.sumLate;
formData.government = props.row.government; formData.sumAbsent = props.row.sumAbsent == '-' ? '':props.row.sumAbsent;
formData.study = props.row.study; formData.sumEducation = props.row.sumEducation == '-' ? '':props.row.sumEducation;
formData.year = props.row.year == "-" ? 0 : props.row.year; formData.leaveYear = props.row.leaveYear == "-" ? 0 : Number(props.row.leaveYear) - 543;
// id.value = props.row.id; // id.value = props.row.id;
// typeLeave.value = props.row.typeLeaveId; // typeLeave.value = props.row.typeLeaveId;
@ -1522,12 +1505,12 @@ const getClass = (val: boolean) => {
function clearForm() { function clearForm() {
formData.id = ""; formData.id = "";
formData.sick = ""; formData.sumSick = "";
formData.absence = ""; formData.sumRest = "";
formData.late = ""; formData.sumLate = "";
formData.government = ""; formData.sumAbsent = "";
formData.study = ""; formData.sumEducation = "";
formData.year = 0; formData.leaveYear = 0;
} }
// watch(()=>modalAdd.value,()=>{ // watch(()=>modalAdd.value,()=>{
// clearForm() // clearForm()

View file

@ -20,12 +20,12 @@ interface DataProps {
//ข้อมูล //ข้อมูล
interface RequestItemsObject { interface RequestItemsObject {
id: string; id: string;
year: string|number; leaveYear: string|number;
sick: string; sumRest: string;
absence: string; sumLate: string;
late: string; sumAbsent: string;
government: string; sumEducation: string;
study: string; sumSick: string;
} }
//ข้อมูล //ข้อมูล
@ -52,12 +52,12 @@ interface Columns {
interface DetailData { interface DetailData {
id: string; id: string;
sick: string; sumSick: string;
absence: string; sumRest: string;
late: string; sumLate: string;
government: string; sumAbsent: string;
study: string; sumEducation: string;
year: string|number; leaveYear: string|number;
} }
export type { RequestItemsObject, Columns, DataProps, RequestItemsTotalObject,DetailData }; export type { RequestItemsObject, Columns, DataProps, RequestItemsTotalObject,DetailData };

View file

@ -14,12 +14,12 @@
interface ResponseObject { interface ResponseObject {
id: string; id: string;
year: string|number; sumSick: string;
sick: string; sumRest: string;
absence: string; sumLate: string;
late: string; sumAbsent: string;
government: string; sumEducation: string;
study: string; leaveYear: string|number;
} }
interface ResponseTotalObject { interface ResponseTotalObject {