เพิ่ม api ลบเอกสาร
This commit is contained in:
parent
4f05ca9558
commit
6c4c8df2f1
14 changed files with 123 additions and 253 deletions
|
|
@ -27,7 +27,8 @@ export default {
|
||||||
leaveCheck: () => `${leave}/user/check`,
|
leaveCheck: () => `${leave}/user/check`,
|
||||||
leaveReport: (id: string) => `${leave}/report/${id}`,
|
leaveReport: (id: string) => `${leave}/report/${id}`,
|
||||||
leaveSendReport: () => `${leave}/report-template/docx`,
|
leaveSendReport: () => `${leave}/report-template/docx`,
|
||||||
leaveDocumentId: (id: string) => `${leave}/user/file/document/${id}`,
|
leaveDocumentId: (id: string, docId: string) =>
|
||||||
|
`${leave}/user/file/document/${id}/${docId}`,
|
||||||
|
|
||||||
listHolidayHistoryYearMonth: (year: number, month: number) =>
|
listHolidayHistoryYearMonth: (year: number, month: number) =>
|
||||||
`${holiday}${year}/${month}`,
|
`${holiday}${year}/${month}`,
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,10 @@ const props = defineProps({
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => "",
|
default: () => "",
|
||||||
},
|
},
|
||||||
|
clickDelete: {
|
||||||
|
type: Function,
|
||||||
|
default: () => "",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
/** ข้อมูล v-model ของฟอร์ม */
|
/** ข้อมูล v-model ของฟอร์ม */
|
||||||
|
|
@ -158,26 +162,6 @@ async function fetchCheck() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//เเจ้งเตือนลบข้อมูล
|
|
||||||
const clickDelete = (id: string) => {
|
|
||||||
dialogRemove($q, () => onClickDelete(id));
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* function ลบรายการ
|
|
||||||
* @param id
|
|
||||||
*/
|
|
||||||
const onClickDelete = async (id: string) => {
|
|
||||||
await http
|
|
||||||
.delete(config.API.leaveDocumentId(id))
|
|
||||||
.then(async (res) => {
|
|
||||||
console.log("delete");
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
messageError($q, err);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ฟังก์ชั่นแปลงครึ่งวัน/ทั้งวัน
|
* ฟังก์ชั่นแปลงครึ่งวัน/ทั้งวัน
|
||||||
*/
|
*/
|
||||||
|
|
@ -210,6 +194,7 @@ const dateEndInputStyle = computed(() => {
|
||||||
return !isLeave.value ? "input-alert" : "";
|
return !isLeave.value ? "input-alert" : "";
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const leaveId = ref<any>("");
|
||||||
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
||||||
const statusCheck = ref<any>("");
|
const statusCheck = ref<any>("");
|
||||||
watch(props.data, () => {
|
watch(props.data, () => {
|
||||||
|
|
@ -243,6 +228,7 @@ onMounted(() => {
|
||||||
leaveDocumentList.value = props.data.leaveDocument;
|
leaveDocumentList.value = props.data.leaveDocument;
|
||||||
formDataSick.leaveAddress = props.data.leaveAddress;
|
formDataSick.leaveAddress = props.data.leaveAddress;
|
||||||
statusCheck.value = props.data.status;
|
statusCheck.value = props.data.status;
|
||||||
|
leaveId.value = props.data.id;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -532,7 +518,7 @@ onMounted(() => {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
@click="clickDelete(document.docId)"
|
@click="clickDelete(leaveId, document.docId)"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
outline
|
outline
|
||||||
color="red"
|
color="red"
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ const $q = useQuasar();
|
||||||
const { date2Thai, dateToISO, dialogRemove, success, messageError, fails } =
|
const { date2Thai, dateToISO, dialogRemove, success, messageError, fails } =
|
||||||
mixin;
|
mixin;
|
||||||
const edit = ref<boolean>(true);
|
const edit = ref<boolean>(true);
|
||||||
|
const leaveId = ref<any>("");
|
||||||
|
|
||||||
/** รับ props มาจากหน้าหลัก */
|
/** รับ props มาจากหน้าหลัก */
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
@ -31,6 +32,10 @@ const props = defineProps({
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => "",
|
default: () => "",
|
||||||
},
|
},
|
||||||
|
clickDelete: {
|
||||||
|
type: Function,
|
||||||
|
default: () => "",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
/** ข้อมูล v-model ของฟอร์ม */
|
/** ข้อมูล v-model ของฟอร์ม */
|
||||||
|
|
@ -143,26 +148,6 @@ const dateEndInputStyle = computed(() => {
|
||||||
return !isLeave.value ? "input-alert" : "";
|
return !isLeave.value ? "input-alert" : "";
|
||||||
});
|
});
|
||||||
|
|
||||||
//เเจ้งเตือนลบข้อมูล
|
|
||||||
const clickDelete = (id: string) => {
|
|
||||||
dialogRemove($q, () => onClickDelete(id));
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* function ลบรายการ
|
|
||||||
* @param id
|
|
||||||
*/
|
|
||||||
const onClickDelete = async (id: string) => {
|
|
||||||
await http
|
|
||||||
.delete(config.API.leaveDocumentId(id))
|
|
||||||
.then(async (res) => {
|
|
||||||
console.log("delete");
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
messageError($q, err);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
|
||||||
const leaveDocumentList = ref<any>();
|
const leaveDocumentList = ref<any>();
|
||||||
const statusCheck = ref<any>("");
|
const statusCheck = ref<any>("");
|
||||||
|
|
@ -193,6 +178,7 @@ onMounted(() => {
|
||||||
formDataBirth.leaveDetail = props.data.leaveDetail;
|
formDataBirth.leaveDetail = props.data.leaveDetail;
|
||||||
leaveDocumentList.value = props.data.leaveDocument;
|
leaveDocumentList.value = props.data.leaveDocument;
|
||||||
statusCheck.value = props.data.status;
|
statusCheck.value = props.data.status;
|
||||||
|
leaveId.value = props.data.id;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -455,7 +441,7 @@ onMounted(() => {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
@click="clickDelete(document.docId)"
|
@click="clickDelete(leaveId, document.docId)"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
outline
|
outline
|
||||||
color="red"
|
color="red"
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ const {
|
||||||
messageError,
|
messageError,
|
||||||
} = mixin;
|
} = mixin;
|
||||||
const edit = ref<boolean>(true);
|
const edit = ref<boolean>(true);
|
||||||
|
const leaveId = ref<any>("");
|
||||||
|
|
||||||
/** รับ props มาจากหน้าหลัก */
|
/** รับ props มาจากหน้าหลัก */
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
@ -41,28 +42,12 @@ const props = defineProps({
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => "",
|
default: () => "",
|
||||||
},
|
},
|
||||||
|
clickDelete: {
|
||||||
|
type: Function,
|
||||||
|
default: () => "",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
//เเจ้งเตือนลบข้อมูล
|
|
||||||
const clickDelete = (id: string) => {
|
|
||||||
dialogRemove($q, () => onClickDelete(id));
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* function ลบรายการ
|
|
||||||
* @param id
|
|
||||||
*/
|
|
||||||
const onClickDelete = async (id: string) => {
|
|
||||||
await http
|
|
||||||
.delete(config.API.leaveDocumentId(id))
|
|
||||||
.then(async (res) => {
|
|
||||||
console.log("delete");
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
messageError($q, err);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/** ข้อมูล v-model ของฟอร์ม */
|
/** ข้อมูล v-model ของฟอร์ม */
|
||||||
const formDataHelpWife = reactive<any>({
|
const formDataHelpWife = reactive<any>({
|
||||||
type: dataStore.typeId,
|
type: dataStore.typeId,
|
||||||
|
|
@ -229,6 +214,7 @@ onMounted(() => {
|
||||||
formDataHelpWife.leaveDetail = props.data.leaveDetail;
|
formDataHelpWife.leaveDetail = props.data.leaveDetail;
|
||||||
leaveDocumentList.value = props.data.leaveDocument;
|
leaveDocumentList.value = props.data.leaveDocument;
|
||||||
statusCheck.value = props.data.status;
|
statusCheck.value = props.data.status;
|
||||||
|
leaveId.value = props.data.id;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -539,7 +525,7 @@ onMounted(() => {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
@click="clickDelete(document.docId)"
|
@click="clickDelete(leaveId, document.docId)"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
outline
|
outline
|
||||||
color="red"
|
color="red"
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ const router = useRouter();
|
||||||
const { date2Thai, dateToISO, dialogRemove, success, messageError, fails } =
|
const { date2Thai, dateToISO, dialogRemove, success, messageError, fails } =
|
||||||
mixin;
|
mixin;
|
||||||
const edit = ref<boolean>(true);
|
const edit = ref<boolean>(true);
|
||||||
|
const leaveId = ref<any>("");
|
||||||
|
|
||||||
/** รับ props มาจากหน้าหลัก */
|
/** รับ props มาจากหน้าหลัก */
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
@ -34,6 +35,10 @@ const props = defineProps({
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => "",
|
default: () => "",
|
||||||
},
|
},
|
||||||
|
clickDelete: {
|
||||||
|
type: Function,
|
||||||
|
default: () => "",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
/** ข้อมูล v-model ของฟอร์ม */
|
/** ข้อมูล v-model ของฟอร์ม */
|
||||||
|
|
@ -127,26 +132,6 @@ function onValidate() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//เเจ้งเตือนลบข้อมูล
|
|
||||||
const clickDelete = (id: string) => {
|
|
||||||
dialogRemove($q, () => onClickDelete(id));
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* function ลบรายการ
|
|
||||||
* @param id
|
|
||||||
*/
|
|
||||||
const onClickDelete = async (id: string) => {
|
|
||||||
await http
|
|
||||||
.delete(config.API.leaveDocumentId(id))
|
|
||||||
.then(async (res) => {
|
|
||||||
console.log("delete");
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
messageError($q, err);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* check ว่าลาได้ไหม จาก api
|
* check ว่าลาได้ไหม จาก api
|
||||||
* @param formData
|
* @param formData
|
||||||
|
|
@ -241,6 +226,7 @@ onMounted(() => {
|
||||||
leaveDocumentList.value = props.data.leaveDocument;
|
leaveDocumentList.value = props.data.leaveDocument;
|
||||||
statusCheck.value = props.data.status;
|
statusCheck.value = props.data.status;
|
||||||
formDataVacation.leaveRange = props.data.leaveRange;
|
formDataVacation.leaveRange = props.data.leaveRange;
|
||||||
|
leaveId.value = props.data.id;
|
||||||
// formDataVacation.leaveDocument = props.data.leaveDocument;
|
// formDataVacation.leaveDocument = props.data.leaveDocument;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -538,7 +524,7 @@ onMounted(() => {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
@click="clickDelete(document.docId)"
|
@click="clickDelete(leaveId, document.docId)"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
outline
|
outline
|
||||||
color="red"
|
color="red"
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ const {
|
||||||
} = mixin;
|
} = mixin;
|
||||||
const edit = ref<boolean>(true);
|
const edit = ref<boolean>(true);
|
||||||
const files = ref<any>(null);
|
const files = ref<any>(null);
|
||||||
|
const leaveId = ref<any>("");
|
||||||
|
|
||||||
/** รับ props มาจากหน้าหลัก */
|
/** รับ props มาจากหน้าหลัก */
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
@ -39,6 +40,10 @@ const props = defineProps({
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => "",
|
default: () => "",
|
||||||
},
|
},
|
||||||
|
clickDelete: {
|
||||||
|
type: Function,
|
||||||
|
default: () => "",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
/** ตัวแปร ref สำหรับแสดง validate */
|
/** ตัวแปร ref สำหรับแสดง validate */
|
||||||
|
|
@ -250,29 +255,10 @@ onMounted(() => {
|
||||||
formDataOrdination.leaveDetail = props.data.leaveDetail;
|
formDataOrdination.leaveDetail = props.data.leaveDetail;
|
||||||
leaveDocumentList.value = props.data.leaveDocument;
|
leaveDocumentList.value = props.data.leaveDocument;
|
||||||
statusCheck.value = props.data.status;
|
statusCheck.value = props.data.status;
|
||||||
|
leaveId.value = props.data.id;
|
||||||
// formDataOrdination.leaveDocument = props.data.leaveDocument;
|
// formDataOrdination.leaveDocument = props.data.leaveDocument;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
//เเจ้งเตือนลบข้อมูล
|
|
||||||
const clickDelete = (id: string) => {
|
|
||||||
dialogRemove($q, () => onClickDelete(id));
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* function ลบรายการ
|
|
||||||
* @param id
|
|
||||||
*/
|
|
||||||
const onClickDelete = async (id: string) => {
|
|
||||||
await http
|
|
||||||
.delete(config.API.leaveDocumentId(id))
|
|
||||||
.then(async (res) => {
|
|
||||||
console.log("delete");
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
messageError($q, err);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- ฟอร์ม ลาอุปสมบท -->
|
<!-- ฟอร์ม ลาอุปสมบท -->
|
||||||
|
|
@ -720,7 +706,7 @@ const onClickDelete = async (id: string) => {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
@click="clickDelete(document.docId)"
|
@click="clickDelete(leaveId, document.docId)"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
outline
|
outline
|
||||||
color="red"
|
color="red"
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ const {
|
||||||
} = mixin;
|
} = mixin;
|
||||||
const edit = ref<boolean>(true);
|
const edit = ref<boolean>(true);
|
||||||
const files = ref<any>(null);
|
const files = ref<any>(null);
|
||||||
|
const leaveId = ref<any>("");
|
||||||
|
|
||||||
/** ตัวแปร ref สำหรับแสดง validate */
|
/** ตัวแปร ref สำหรับแสดง validate */
|
||||||
const leaveWroteRef = ref<object | null>(null);
|
const leaveWroteRef = ref<object | null>(null);
|
||||||
|
|
@ -46,6 +47,10 @@ const props = defineProps({
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => "",
|
default: () => "",
|
||||||
},
|
},
|
||||||
|
clickDelete: {
|
||||||
|
type: Function,
|
||||||
|
default: () => "",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
/** ข้อมูล v-model ของฟอร์ม */
|
/** ข้อมูล v-model ของฟอร์ม */
|
||||||
|
|
@ -185,28 +190,9 @@ onMounted(() => {
|
||||||
leaveDocumentList.value = props.data.leaveDocument;
|
leaveDocumentList.value = props.data.leaveDocument;
|
||||||
statusCheck.value = props.data.status;
|
statusCheck.value = props.data.status;
|
||||||
// formDataHaji.leaveDocument = props.data.leaveDocument;
|
// formDataHaji.leaveDocument = props.data.leaveDocument;
|
||||||
|
leaveId.value = props.data.id;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
//เเจ้งเตือนลบข้อมูล
|
|
||||||
const clickDelete = (id: string) => {
|
|
||||||
dialogRemove($q, () => onClickDelete(id));
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* function ลบรายการ
|
|
||||||
* @param id
|
|
||||||
*/
|
|
||||||
const onClickDelete = async (id: string) => {
|
|
||||||
await http
|
|
||||||
.delete(config.API.leaveDocumentId(id))
|
|
||||||
.then(async (res) => {
|
|
||||||
console.log("delete");
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
messageError($q, err);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -485,7 +471,7 @@ const onClickDelete = async (id: string) => {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
@click="clickDelete(document.docId)"
|
@click="clickDelete(leaveId, document.docId)"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
outline
|
outline
|
||||||
color="red"
|
color="red"
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ const {
|
||||||
} = mixin;
|
} = mixin;
|
||||||
const edit = ref<boolean>(true);
|
const edit = ref<boolean>(true);
|
||||||
const files = ref<any>(null);
|
const files = ref<any>(null);
|
||||||
|
const leaveId = ref<any>("");
|
||||||
|
|
||||||
/** ตัวแปร ref สำหรับแสดง validate */
|
/** ตัวแปร ref สำหรับแสดง validate */
|
||||||
const leaveStartDateRef = ref<object | null>(null);
|
const leaveStartDateRef = ref<object | null>(null);
|
||||||
|
|
@ -50,6 +51,10 @@ const props = defineProps({
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => "",
|
default: () => "",
|
||||||
},
|
},
|
||||||
|
clickDelete: {
|
||||||
|
type: Function,
|
||||||
|
default: () => "",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
/** ข้อมูล v-model ของฟอร์ม */
|
/** ข้อมูล v-model ของฟอร์ม */
|
||||||
|
|
@ -155,26 +160,6 @@ async function fetchCheck() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//เเจ้งเตือนลบข้อมูล
|
|
||||||
const clickDelete = (id: string) => {
|
|
||||||
dialogRemove($q, () => onClickDelete(id));
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* function ลบรายการ
|
|
||||||
* @param id
|
|
||||||
*/
|
|
||||||
const onClickDelete = async (id: string) => {
|
|
||||||
await http
|
|
||||||
.delete(config.API.leaveDocumentId(id))
|
|
||||||
.then(async (res) => {
|
|
||||||
console.log("delete");
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
messageError($q, err);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* function อัพเดทค่า LeaveTotal
|
* function อัพเดทค่า LeaveTotal
|
||||||
*/
|
*/
|
||||||
|
|
@ -229,6 +214,7 @@ onMounted(() => {
|
||||||
leaveDocumentList.value = props.data.leaveDocument;
|
leaveDocumentList.value = props.data.leaveDocument;
|
||||||
statusCheck.value = props.data.status;
|
statusCheck.value = props.data.status;
|
||||||
// formDataMilitary.leaveDocument = props.data.leaveDocument;
|
// formDataMilitary.leaveDocument = props.data.leaveDocument;
|
||||||
|
leaveId.value = props.data.id;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -540,7 +526,7 @@ onMounted(() => {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
@click="clickDelete(document.docId)"
|
@click="clickDelete(leaveId, document.docId)"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
outline
|
outline
|
||||||
color="red"
|
color="red"
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ const {
|
||||||
} = mixin;
|
} = mixin;
|
||||||
const edit = ref<boolean>(true);
|
const edit = ref<boolean>(true);
|
||||||
const files = ref<any>(null);
|
const files = ref<any>(null);
|
||||||
|
const leaveId = ref<any>("");
|
||||||
|
|
||||||
/** ตัวแปร ref สำหรับแสดง validate */
|
/** ตัวแปร ref สำหรับแสดง validate */
|
||||||
const leaveStartDateRef = ref<object | null>(null);
|
const leaveStartDateRef = ref<object | null>(null);
|
||||||
|
|
@ -55,6 +56,10 @@ const props = defineProps({
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => "",
|
default: () => "",
|
||||||
},
|
},
|
||||||
|
clickDelete: {
|
||||||
|
type: Function,
|
||||||
|
default: () => "",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
/** ข้อมูล v-model ของฟอร์ม */
|
/** ข้อมูล v-model ของฟอร์ม */
|
||||||
|
|
@ -154,26 +159,6 @@ function onValidate() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//เเจ้งเตือนลบข้อมูล
|
|
||||||
const clickDelete = (id: string) => {
|
|
||||||
dialogRemove($q, () => onClickDelete(id));
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* function ลบรายการ
|
|
||||||
* @param id
|
|
||||||
*/
|
|
||||||
const onClickDelete = async (id: string) => {
|
|
||||||
await http
|
|
||||||
.delete(config.API.leaveDocumentId(id))
|
|
||||||
.then(async (res) => {
|
|
||||||
console.log("delete");
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
messageError($q, err);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/** แจ้งเมื่อวันลาไม่ถูกต้อง */
|
/** แจ้งเมื่อวันลาไม่ถูกต้อง */
|
||||||
const dateEndInputStyle = computed(() => {
|
const dateEndInputStyle = computed(() => {
|
||||||
return !isLeave.value ? "input-alert" : "";
|
return !isLeave.value ? "input-alert" : "";
|
||||||
|
|
@ -272,6 +257,7 @@ onMounted(async () => {
|
||||||
);
|
);
|
||||||
formDataStudy.leaveTotal = leaveTotal;
|
formDataStudy.leaveTotal = leaveTotal;
|
||||||
statusCheck.value = props.data.status;
|
statusCheck.value = props.data.status;
|
||||||
|
leaveId.value = props.data.id;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -696,7 +682,7 @@ onMounted(async () => {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
@click="clickDelete(document.docId)"
|
@click="clickDelete(leaveId, document.docId)"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
outline
|
outline
|
||||||
color="red"
|
color="red"
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ const {
|
||||||
} = mixin;
|
} = mixin;
|
||||||
const edit = ref<boolean>(true);
|
const edit = ref<boolean>(true);
|
||||||
const files = ref<any>(null);
|
const files = ref<any>(null);
|
||||||
|
const leaveId = ref<any>("");
|
||||||
|
|
||||||
/** รับ props มาจากหน้าหลัก */
|
/** รับ props มาจากหน้าหลัก */
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
@ -40,6 +41,10 @@ const props = defineProps({
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => "",
|
default: () => "",
|
||||||
},
|
},
|
||||||
|
clickDelete: {
|
||||||
|
type: Function,
|
||||||
|
default: () => "",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
/** ข้อมูล v-model ของฟอร์ม */
|
/** ข้อมูล v-model ของฟอร์ม */
|
||||||
|
|
@ -175,26 +180,6 @@ async function fetchCheck() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//เเจ้งเตือนลบข้อมูล
|
|
||||||
const clickDelete = (id: string) => {
|
|
||||||
dialogRemove($q, () => onClickDelete(id));
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* function ลบรายการ
|
|
||||||
* @param id
|
|
||||||
*/
|
|
||||||
const onClickDelete = async (id: string) => {
|
|
||||||
await http
|
|
||||||
.delete(config.API.leaveDocumentId(id))
|
|
||||||
.then(async (res) => {
|
|
||||||
console.log("delete");
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
messageError($q, err);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* function อัพเดทค่า LeaveTotal
|
* function อัพเดทค่า LeaveTotal
|
||||||
*/
|
*/
|
||||||
|
|
@ -277,6 +262,7 @@ onMounted(async () => {
|
||||||
formDataTrain.leaveTotal = leaveTotal;
|
formDataTrain.leaveTotal = leaveTotal;
|
||||||
leaveDocumentList.value = props.data.leaveDocument;
|
leaveDocumentList.value = props.data.leaveDocument;
|
||||||
statusCheck.value = props.data.status;
|
statusCheck.value = props.data.status;
|
||||||
|
leaveId.value = props.data.id;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -685,7 +671,7 @@ onMounted(async () => {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
@click="clickDelete(document.docId)"
|
@click="clickDelete(leaveId, document.docId)"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
outline
|
outline
|
||||||
color="red"
|
color="red"
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ const {
|
||||||
const edit = ref<boolean>(true);
|
const edit = ref<boolean>(true);
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const isSave = ref<boolean>(false);
|
const isSave = ref<boolean>(false);
|
||||||
|
const leaveId = ref<any>("");
|
||||||
|
|
||||||
/** รับ props มาจากหน้าหลัก */
|
/** รับ props มาจากหน้าหลัก */
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
@ -41,6 +42,10 @@ const props = defineProps({
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => "",
|
default: () => "",
|
||||||
},
|
},
|
||||||
|
clickDelete: {
|
||||||
|
type: Function,
|
||||||
|
default: () => "",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
/** ข้อมูล v-model ของฟอร์ม */
|
/** ข้อมูล v-model ของฟอร์ม */
|
||||||
|
|
@ -142,26 +147,6 @@ async function onClickDownloadFile(id: string, fileName: string) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//เเจ้งเตือนลบข้อมูล
|
|
||||||
const clickDelete = (id: string) => {
|
|
||||||
dialogRemove($q, () => onClickDelete(id));
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* function ลบรายการ
|
|
||||||
* @param id
|
|
||||||
*/
|
|
||||||
const onClickDelete = async (id: string) => {
|
|
||||||
await http
|
|
||||||
.delete(config.API.leaveDocumentId(id))
|
|
||||||
.then(async (res) => {
|
|
||||||
console.log("delete");
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
messageError($q, err);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* check ว่าลาได้ไหม จาก api
|
* check ว่าลาได้ไหม จาก api
|
||||||
* @param formData
|
* @param formData
|
||||||
|
|
@ -222,6 +207,7 @@ onMounted(() => {
|
||||||
leaveDraftDocument.value = props.data.leaveDraftDocument;
|
leaveDraftDocument.value = props.data.leaveDraftDocument;
|
||||||
leaveDocumentList.value = props.data.leaveDocument;
|
leaveDocumentList.value = props.data.leaveDocument;
|
||||||
statusCheck.value = props.data.status;
|
statusCheck.value = props.data.status;
|
||||||
|
leaveId.value = props.data.id;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -436,7 +422,7 @@ onMounted(() => {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
@click="clickDelete(document.docId)"
|
@click="clickDelete(leaveId, document.docId)"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
outline
|
outline
|
||||||
color="red"
|
color="red"
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ const {
|
||||||
messageError,
|
messageError,
|
||||||
} = mixin;
|
} = mixin;
|
||||||
const edit = ref<boolean>(true);
|
const edit = ref<boolean>(true);
|
||||||
|
const leaveId = ref<any>("");
|
||||||
|
|
||||||
/** รับ props มาจากหน้าหลัก */
|
/** รับ props มาจากหน้าหลัก */
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
@ -42,6 +43,10 @@ const props = defineProps({
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => "",
|
default: () => "",
|
||||||
},
|
},
|
||||||
|
clickDelete: {
|
||||||
|
type: Function,
|
||||||
|
default: () => "",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
/** ข้อมูล v-model ของฟอร์ม */
|
/** ข้อมูล v-model ของฟอร์ม */
|
||||||
|
|
@ -198,26 +203,6 @@ async function fetchCheck() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//เเจ้งเตือนลบข้อมูล
|
|
||||||
const clickDelete = (id: string) => {
|
|
||||||
dialogRemove($q, () => onClickDelete(id));
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* function ลบรายการ
|
|
||||||
* @param id
|
|
||||||
*/
|
|
||||||
const onClickDelete = async (id: string) => {
|
|
||||||
await http
|
|
||||||
.delete(config.API.leaveDocumentId(id))
|
|
||||||
.then(async (res) => {
|
|
||||||
console.log("delete");
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
messageError($q, err);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* function อัพเดทค่า LeaveTotal
|
* function อัพเดทค่า LeaveTotal
|
||||||
*/
|
*/
|
||||||
|
|
@ -327,6 +312,7 @@ onMounted(async () => {
|
||||||
);
|
);
|
||||||
formDataFollowSpouse.coupleDayTotalHistory = coupleDayTotalHistory;
|
formDataFollowSpouse.coupleDayTotalHistory = coupleDayTotalHistory;
|
||||||
statusCheck.value = props.data.status;
|
statusCheck.value = props.data.status;
|
||||||
|
leaveId.value = props.data.id;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -758,7 +744,7 @@ onMounted(async () => {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
@click="clickDelete(document.docId)"
|
@click="clickDelete(leaveId, document.docId)"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
outline
|
outline
|
||||||
color="red"
|
color="red"
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ const router = useRouter();
|
||||||
const edit = ref<boolean>(true);
|
const edit = ref<boolean>(true);
|
||||||
const isSave = ref<boolean>(false);
|
const isSave = ref<boolean>(false);
|
||||||
const files = ref<any>(null);
|
const files = ref<any>(null);
|
||||||
|
const leaveId = ref<any>("");
|
||||||
|
|
||||||
/** ตัวแปร ref สำหรับแสดง validate */
|
/** ตัวแปร ref สำหรับแสดง validate */
|
||||||
const leaveStartDateRef = ref<object | null>(null);
|
const leaveStartDateRef = ref<object | null>(null);
|
||||||
|
|
@ -47,6 +48,10 @@ const props = defineProps({
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => "",
|
default: () => "",
|
||||||
},
|
},
|
||||||
|
clickDelete: {
|
||||||
|
type: Function,
|
||||||
|
default: () => "",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
/** ข้อมูล v-model ของฟอร์ม */
|
/** ข้อมูล v-model ของฟอร์ม */
|
||||||
|
|
@ -159,26 +164,6 @@ async function onClickDownloadFile(id: string, fileName: string) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//เเจ้งเตือนลบข้อมูล
|
|
||||||
const clickDelete = (id: string) => {
|
|
||||||
dialogRemove($q, () => onClickDelete(id));
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* function ลบรายการ
|
|
||||||
* @param id
|
|
||||||
*/
|
|
||||||
const onClickDelete = async (id: string) => {
|
|
||||||
await http
|
|
||||||
.delete(config.API.leaveDocumentId(id))
|
|
||||||
.then(async (res) => {
|
|
||||||
console.log("delete");
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
messageError($q, err);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/** แจ้งเมื่อวันลาไม่ถูกต้อง */
|
/** แจ้งเมื่อวันลาไม่ถูกต้อง */
|
||||||
const dateEndInputStyle = computed(() => {
|
const dateEndInputStyle = computed(() => {
|
||||||
return !isLeave.value ? "input-alert" : "";
|
return !isLeave.value ? "input-alert" : "";
|
||||||
|
|
@ -213,6 +198,7 @@ onMounted(() => {
|
||||||
leaveDraftDocument.value = props.data.leaveDraftDocument;
|
leaveDraftDocument.value = props.data.leaveDraftDocument;
|
||||||
leaveDocumentList.value = props.data.leaveDocument;
|
leaveDocumentList.value = props.data.leaveDocument;
|
||||||
statusCheck.value = props.data.status;
|
statusCheck.value = props.data.status;
|
||||||
|
leaveId.value = props.data.id;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -406,7 +392,7 @@ onMounted(() => {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<q-btn
|
<q-btn
|
||||||
@click="clickDelete(document.docId)"
|
@click="clickDelete(leaveId, document.docId)"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
outline
|
outline
|
||||||
color="red"
|
color="red"
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ const {
|
||||||
success,
|
success,
|
||||||
date2Thai,
|
date2Thai,
|
||||||
dateToISO,
|
dateToISO,
|
||||||
|
dialogRemove,
|
||||||
} = mixin;
|
} = mixin;
|
||||||
|
|
||||||
const titleName = ref<string>("");
|
const titleName = ref<string>("");
|
||||||
|
|
@ -271,6 +272,30 @@ function onConfirm(id: string) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//เเจ้งเตือนลบข้อมูล
|
||||||
|
const clickDelete = (id: string, docId: string) => {
|
||||||
|
dialogRemove($q, () => onClickDelete(id, docId));
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* function ลบรายการ
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
const onClickDelete = async (id: string, docId: string) => {
|
||||||
|
await http
|
||||||
|
.delete(config.API.leaveDocumentId(id, docId))
|
||||||
|
.then(async (res) => {
|
||||||
|
console.log("delete");
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
messageError($q, err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
fetchDataDetail(personalId.value);
|
||||||
|
hideLoader();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
/**เมื่อเริ่มโหลดหน้า
|
/**เมื่อเริ่มโหลดหน้า
|
||||||
* เรียกใช้งาน fetchData เพื่อดึงข้อมูล
|
* เรียกใช้งาน fetchData เพื่อดึงข้อมูล
|
||||||
*/
|
*/
|
||||||
|
|
@ -379,36 +404,42 @@ onMounted(() => {
|
||||||
:data="formData"
|
:data="formData"
|
||||||
:on-submit="onSubmit"
|
:on-submit="onSubmit"
|
||||||
:on-confirm="onConfirm"
|
:on-confirm="onConfirm"
|
||||||
|
:click-delete="clickDelete"
|
||||||
/>
|
/>
|
||||||
<FormBirth
|
<FormBirth
|
||||||
v-if="model === 'LV-003'"
|
v-if="model === 'LV-003'"
|
||||||
:data="formData"
|
:data="formData"
|
||||||
:on-submit="onSubmit"
|
:on-submit="onSubmit"
|
||||||
:on-confirm="onConfirm"
|
:on-confirm="onConfirm"
|
||||||
|
:click-delete="clickDelete"
|
||||||
/>
|
/>
|
||||||
<HelpWifeBirthForm
|
<HelpWifeBirthForm
|
||||||
v-if="model === 'LV-004'"
|
v-if="model === 'LV-004'"
|
||||||
:data="formData"
|
:data="formData"
|
||||||
:on-submit="onSubmit"
|
:on-submit="onSubmit"
|
||||||
:on-confirm="onConfirm"
|
:on-confirm="onConfirm"
|
||||||
|
:click-delete="clickDelete"
|
||||||
/>
|
/>
|
||||||
<VacationForm
|
<VacationForm
|
||||||
v-if="model === 'LV-005'"
|
v-if="model === 'LV-005'"
|
||||||
:data="formData"
|
:data="formData"
|
||||||
:on-submit="onSubmit"
|
:on-submit="onSubmit"
|
||||||
:on-confirm="onConfirm"
|
:on-confirm="onConfirm"
|
||||||
|
:click-delete="clickDelete"
|
||||||
/>
|
/>
|
||||||
<OrdinationForm
|
<OrdinationForm
|
||||||
v-if="model === 'LV-006' && modelSpecific === 'b1'"
|
v-if="model === 'LV-006' && modelSpecific === 'b1'"
|
||||||
:data="formData"
|
:data="formData"
|
||||||
:on-submit="onSubmit"
|
:on-submit="onSubmit"
|
||||||
:on-confirm="onConfirm"
|
:on-confirm="onConfirm"
|
||||||
|
:click-delete="clickDelete"
|
||||||
/>
|
/>
|
||||||
<HajjForm
|
<HajjForm
|
||||||
v-if="model === 'LV-006' && modelSpecific === 'b2'"
|
v-if="model === 'LV-006' && modelSpecific === 'b2'"
|
||||||
:data="formData"
|
:data="formData"
|
||||||
:on-submit="onSubmit"
|
:on-submit="onSubmit"
|
||||||
:on-confirm="onConfirm"
|
:on-confirm="onConfirm"
|
||||||
|
:click-delete="clickDelete"
|
||||||
/>
|
/>
|
||||||
<MilitaryForm
|
<MilitaryForm
|
||||||
v-if="model === 'LV-007'"
|
v-if="model === 'LV-007'"
|
||||||
|
|
@ -416,6 +447,7 @@ onMounted(() => {
|
||||||
:data="formData"
|
:data="formData"
|
||||||
:on-submit="onSubmit"
|
:on-submit="onSubmit"
|
||||||
:on-confirm="onConfirm"
|
:on-confirm="onConfirm"
|
||||||
|
:click-delete="clickDelete"
|
||||||
/>
|
/>
|
||||||
<StudyForm
|
<StudyForm
|
||||||
v-if="model === 'LV-008' && modelSpecific === 's1'"
|
v-if="model === 'LV-008' && modelSpecific === 's1'"
|
||||||
|
|
@ -423,6 +455,7 @@ onMounted(() => {
|
||||||
:data="formData"
|
:data="formData"
|
||||||
:on-submit="onSubmit"
|
:on-submit="onSubmit"
|
||||||
:on-confirm="onConfirm"
|
:on-confirm="onConfirm"
|
||||||
|
:click-delete="clickDelete"
|
||||||
/>
|
/>
|
||||||
<TrainForm
|
<TrainForm
|
||||||
v-if="
|
v-if="
|
||||||
|
|
@ -433,24 +466,28 @@ onMounted(() => {
|
||||||
:data="formData"
|
:data="formData"
|
||||||
:on-submit="onSubmit"
|
:on-submit="onSubmit"
|
||||||
:on-confirm="onConfirm"
|
:on-confirm="onConfirm"
|
||||||
|
:click-delete="clickDelete"
|
||||||
/>
|
/>
|
||||||
<WorkInternationalForm
|
<WorkInternationalForm
|
||||||
v-if="model === 'LV-009'"
|
v-if="model === 'LV-009'"
|
||||||
:data="formData"
|
:data="formData"
|
||||||
:on-submit="onSubmit"
|
:on-submit="onSubmit"
|
||||||
:on-confirm="onConfirm"
|
:on-confirm="onConfirm"
|
||||||
|
:click-delete="clickDelete"
|
||||||
/>
|
/>
|
||||||
<FollowSpouseForm
|
<FollowSpouseForm
|
||||||
v-if="model === 'LV-010'"
|
v-if="model === 'LV-010'"
|
||||||
:data="formData"
|
:data="formData"
|
||||||
:on-submit="onSubmit"
|
:on-submit="onSubmit"
|
||||||
:on-confirm="onConfirm"
|
:on-confirm="onConfirm"
|
||||||
|
:click-delete="clickDelete"
|
||||||
/>
|
/>
|
||||||
<RehabilitationForm
|
<RehabilitationForm
|
||||||
v-if="model === 'LV-011'"
|
v-if="model === 'LV-011'"
|
||||||
:data="formData"
|
:data="formData"
|
||||||
:on-submit="onSubmit"
|
:on-submit="onSubmit"
|
||||||
:on-confirm="onConfirm"
|
:on-confirm="onConfirm"
|
||||||
|
:click-delete="clickDelete"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue