get post pu delete
This commit is contained in:
parent
7623a1e762
commit
16340d9ff5
3 changed files with 113 additions and 130 deletions
|
|
@ -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()
|
||||||
|
|
|
||||||
|
|
@ -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 };
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue