แก้ไขแบบฟอร์มการลา

This commit is contained in:
Warunee Tamkoo 2024-01-05 15:47:01 +07:00
parent 473757cdd1
commit f0c7cf2c72
6 changed files with 188 additions and 157 deletions

View file

@ -155,7 +155,7 @@ function onValidate() {
* @param formData
*/
const isLeave = ref<boolean>(true);
async function FetchCheck() {
async function fetchCheck() {
await http
.post(config.API.leaveCheck(), {
type: dataStore.typeId ?? null,
@ -181,16 +181,16 @@ async function FetchCheck() {
* function พเดทค LeaveTotal
*/
function updateLeaveTotal() {
fetchCheck();
const newLeaveTotal = calculateDurationYmd(
formDataStudy.leaveStartDate,
formDataStudy.leaveEndDate
);
formDataStudy.leaveTotal = newLeaveTotal;
console.log("test");
}
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => {
onMounted(async () => {
if (props.data) {
formDataStudy.leaveWrote = props.data.leaveWrote;
formDataStudy.leaveStartDate = props.data.leaveStartDate;
@ -209,6 +209,12 @@ onMounted(() => {
formDataStudy.studyDaySubject = props.data.studyDaySubject;
// formDataStudy.leaveDocument = props.data.leaveDocument;
formDataStudy.leaveDetail = props.data.leaveDetail;
const leaveTotal = await calculateDurationYmd(
new Date(props.data.leaveStartDate),
new Date(props.data.leaveEndDate)
);
formDataStudy.leaveTotal = leaveTotal;
}
});
</script>
@ -287,7 +293,7 @@ onMounted(() => {
borderless
week-start="0"
:locale="'th'"
@update:model-value="updateLeaveTotal, FetchCheck()"
@update:model-value="updateLeaveTotal()"
:readonly="!formDataStudy.leaveStartDate"
:enableTimePicker="false"
:min-date="formDataStudy.leaveStartDate"

View file

@ -153,7 +153,7 @@ function onValidate() {
* @param formData
*/
const isLeave = ref<boolean>(true);
async function FetchCheck() {
async function fetchCheck() {
await http
.post(config.API.leaveCheck(), {
type: dataStore.typeId ?? null,
@ -165,7 +165,7 @@ async function FetchCheck() {
isLeave.value = data.isLeave;
if (data.isLeave === true) {
// formDataTrain.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday
formDataTrain.leaveTotal = data.totalDate
formDataTrain.leaveTotal = data.totalDate;
} else {
fails($q, "ไม่สามารถลาได้");
}
@ -179,12 +179,12 @@ async function FetchCheck() {
* function พเดทค LeaveTotal
*/
function updateLeaveTotal() {
fetchCheck();
const newLeaveTotal = calculateDurationYmd(
formDataTrain.leaveStartDate,
formDataTrain.leaveEndDate
);
formDataTrain.leaveTotal = newLeaveTotal;
console.log("test");
}
/**
@ -197,7 +197,7 @@ const formattedSalary = computed(() => {
});
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => {
onMounted(async () => {
if (props.data) {
formDataTrain.leaveWrote = props.data.leaveWrote;
formDataTrain.leaveStartDate = props.data.leaveStartDate;
@ -215,6 +215,11 @@ onMounted(() => {
formDataTrain.studyDayTrainingName = props.data.studyDayTrainingName;
formDataTrain.leaveDetail = props.data.leaveDetail;
// formDataTrain.leaveDocument = props.data.leaveDocument;
const leaveTotal = await calculateDurationYmd(
new Date(props.data.leaveStartDate),
new Date(props.data.leaveEndDate)
);
formDataStudy.leaveTotal = leaveTotal;
}
});
</script>
@ -291,7 +296,7 @@ onMounted(() => {
menu-class-name="modalfix"
autoApply
borderless
@update:model-value="updateLeaveTotal, FetchCheck()"
@update:model-value="updateLeaveTotal()"
week-start="0"
:readonly="!formDataTrain.leaveStartDate"
:locale="'th'"
@ -564,7 +569,6 @@ onMounted(() => {
bg-color="white"
dense
outlined
label="เอกสารประกอบ"
>
<template v-slot:prepend>

View file

@ -13,7 +13,7 @@ import genReport from "@/plugins/genreport";
const dataStore = useLeaveStore();
const $q = useQuasar();
const mixin = useCounterMixin();
const { date2Thai, dialogConfirm, fails, dateToISO, success, messageError } =
const { date2Thai, dialogConfirm, fails, dateToISO, success, messageError, showLoader } =
mixin;
const edit = ref<boolean>(true);
const router = useRouter();
@ -124,7 +124,7 @@ function onValidate() {
//download function
async function onClickDownloadFile(id: string, fileName: string) {
// showLoader();
showLoader();
await http
.get(config.API.leaveReport(id))
.then(async (res) => {
@ -167,6 +167,7 @@ async function FetchCheck() {
});
}
const leaveDraftDocument = ref<string>();
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => {
if (props.data) {
@ -177,8 +178,7 @@ onMounted(() => {
formDataWorkInternational.leaveEndDate = new Date(props.data.leaveEndDate);
formDataWorkInternational.leaveDetail = props.data.leaveDetail;
// formDataWorkInternational.leaveDocument = props.data.leaveDocument;
// formDataWorkInternational.leaveDraftDocument =
// props.data.leaveDraftDocument;
leaveDraftDocument.value = props.data.leaveDraftDocument;
}
});
</script>
@ -372,14 +372,7 @@ onMounted(() => {
</div>
</q-card>
<div
v-if="
formDataWorkInternational.leaveWrote &&
formDataWorkInternational.leaveEndDate &&
formDataWorkInternational.leaveStartDate
"
class="q-mt-md"
>
<div v-if="data && data.id" class="q-mt-md">
<div style="display: flex; align-items: center">
<q-icon name="mdi-numeric-4-circle" size="20px" color="primary" />
<div class="q-pl-sm text-weight-bold text-dark">
@ -388,33 +381,32 @@ onMounted(() => {
</div>
<q-card class="bg-grey-1 q-pa-sm" bordered>
<div class="row">
<div class="col-12 col-sm-4 col-md-4 q-my-sm offset-sm-1 offset-md-2">
<div class="col-sm-3 q-my-sm">
<div class="column q-mx-xs">
<div class="q-pl-sm text-weight-bold text-dark text-center">
<!-- <div class="q-pl-sm text-weight-bold text-dark text-center">
ดาวนโหลด
</div>
</div> -->
<q-btn
color="primary"
icon="download"
label="ดาวน์โหลดแบบฟอร์ม"
@click="
onClickDownloadFile(data.id, `แบบฟอร์ม${data.leaveTypeName}`)
"
@click="onClickDownloadFile(data.id, `แบบฟอร์ม${data.leaveTypeName}`)"
/>
</div>
</div>
<div class="col-10 col-sm-5 col-md-4 q-my-sm">
<div class="col-sm-5 q-my-sm">
<div class="column q-mx-xs">
<div class="q-pl-sm text-weight-bold text-dark text-center">
<!-- <div class="q-pl-sm text-weight-bold text-dark text-center">
ปโหลด
</div>
</div> -->
<q-file
v-model="formDataWorkInternational.leaveDraftDocument"
use-chips
dense
label="แบบฟอร์ม"
label="อัปโหลดแบบฟอร์ม"
outlined
bg-color="white"
accept=".pdf"
accept="application/pdf"
>
<template v-slot:prepend>
<q-icon name="attach_file" color="primary" />
@ -422,6 +414,21 @@ onMounted(() => {
</q-file>
</div>
</div>
<div v-if="leaveDraftDocument" class="col-sm-2 q-my-sm">
<div class="column q-mx-xs">
<!-- <div class="q-pl-sm text-weight-bold text-dark text-center">
ไฟลปโหลด
</div> -->
<q-btn
icon="visibility"
color="blue"
label="ดาวน์โหลดไฟล์"
:href="leaveDraftDocument"
target="_blank"
/>
</div>
</div>
<!-- <div class="col-md-1 self-end q-mb-sm">
<q-btn v-if="formDataWorkInternational.leaveDraftDocument != null" use-chips flat round color="primary" icon="mdi-arrow-up-bold" @click="fileUploadDoc"
><q-tooltip>ปโหลด</q-tooltip></q-btn

View file

@ -51,31 +51,21 @@ const formDataFollowSpouse = reactive<any>({
leaveStartDate: null,
leaveEndDate: null,
leaveTotal: "", //
leaveSalaryText: 25000,
leaveSalary: 25000, //
leaveSalaryText: "",
leaveSalary: 0, //
coupleDayName: "", //
coupleDayPosition: "", //
coupleDayLevel: "", //
coupleDayLevelCountry: "", //
followHistoryCountry: "ลาว", //
followHistoryTime: "0 วัน",
followHistoryStart: new Date(),
followHistoryEnd: new Date(),
coupleDayCountryHistory: "", //
coupleDayTotalHistory: null,
coupleDayStartDateHistory: null,
coupleDayEndDateHistory: null,
leaveDetail:
"ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา ...ปี, ...เดือน, ...วัน", //
leaveDocument: [], //
});
/** แปลงตัวแปร Salary */
const formattleaveSalaryText = arabicNumberToText(
formDataFollowSpouse.leaveSalaryText
);
const formattSalary = computed(() => {
return formDataFollowSpouse.leaveSalary !== null
? formDataFollowSpouse.leaveSalary.toLocaleString("th-TH")
: "";
});
/** ตัวแปร ref สำหรับแสดง validate */
const leaveWroteRef = ref<object | null>(null);
const leaveStartDateRef = ref<object | null>(null);
@ -88,10 +78,10 @@ const leaveDetailRef = ref<object | null>(null);
const coupleDayPositionRef = ref<object | null>(null);
const coupleDayLevelRef = ref<object | null>(null);
const coupleDayLevelCountryRef = ref<object | null>(null);
const followHistoryCountryRef = ref<object | null>(null);
const followHistoryTimeRef = ref<object | null>(null);
const followHistoryStartRef = ref<object | null>(null);
const followHistoryEndRef = ref<object | null>(null);
const coupleDayCountryHistoryRef = ref<object | null>(null);
const coupleDayTotalHistoryRef = ref<object | null>(null);
const coupleDayStartDateHistoryRef = ref<object | null>(null);
const coupleDayEndDateHistoryRef = ref<object | null>(null);
const leaveDocumentRef = ref<object | null>(null);
/** maping ref เข้าตัวแปรเพื่อเตรียมตรวจสอบ */
@ -105,10 +95,10 @@ const FormRef: FormRef = {
coupleDayPosition: coupleDayPositionRef, //
coupleDayLevel: coupleDayLevelRef, //
coupleDayLevelCountry: coupleDayLevelCountryRef, //
followHistoryCountry: followHistoryCountryRef, //
followHistoryEnd: followHistoryEndRef, //
followHistoryTime: followHistoryTimeRef, //
followHistoryStart: followHistoryStartRef, //
coupleDayCountryHistory: coupleDayCountryHistoryRef, //
coupleDayEndDateHistory: coupleDayEndDateHistoryRef, //
coupleDayTotalHistory: coupleDayTotalHistoryRef, //
coupleDayStartDateHistory: coupleDayStartDateHistoryRef, //
leaveDetail: leaveDetailRef, //
leaveAddress: leaveAddressRef, //
leaveDocument: leaveDocumentRef,
@ -155,24 +145,24 @@ function onValidate() {
dateToISO(formDataFollowSpouse.leaveEndDate)
); //
formData.append(
"followHistoryStart",
dateToISO(formDataFollowSpouse.followHistoryStart)
"coupleDayStartDateHistory",
dateToISO(formDataFollowSpouse.coupleDayStartDateHistory)
); //
formData.append(
"followHistoryEnd",
dateToISO(formDataFollowSpouse.followHistoryEnd)
"coupleDayEndDateHistory",
dateToISO(formDataFollowSpouse.coupleDayEndDateHistory)
); //
formData.append("leaveWrote", formDataFollowSpouse.leaveWrote); //
formData.append("leaveDetail", formDataFollowSpouse.leaveDetail); //
formData.append("leaveSalaryText", formDataFollowSpouse.leaveSalaryText); //
formData.append("leaveSalary", formDataFollowSpouse.leaveSalary); //
formData.append(
"followHistoryTime",
formDataFollowSpouse.followHistoryTime
"coupleDayTotalHistory",
formDataFollowSpouse.coupleDayTotalHistory
); //
formData.append(
"followHistoryCountry",
formDataFollowSpouse.followHistoryCountry
"coupleDayCountryHistory",
formDataFollowSpouse.coupleDayCountryHistory
); //
formData.append(
"coupleDayLevelCountry",
@ -194,7 +184,7 @@ function onValidate() {
* @param formData
*/
const isLeave = ref<boolean>(true);
async function FetchCheck() {
async function fetchCheck() {
await http
.post(config.API.leaveCheck(), {
type: dataStore.typeId ?? null,
@ -205,9 +195,8 @@ async function FetchCheck() {
const data = res.data.result;
isLeave.value = data.isLeave;
if (data.isLeave === true) {
formDataFollowSpouse.leaveTotal =
// data.totalDate - data.sumDateWork - data.sumDateHoliday;
formDataFollowSpouse.leaveTotal = data.totalDate;
// formDataFollowSpouse.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday;
// formDataFollowSpouse.leaveTotal = data.totalDate;
} else {
fails($q, "ไม่สามารถลาได้");
}
@ -221,6 +210,8 @@ async function FetchCheck() {
* function พเดทค LeaveTotal
*/
function updateLeaveTotal() {
fetchCheck();
const newLeaveTotal = calculateDurationYmd(
formDataFollowSpouse.leaveStartDate,
formDataFollowSpouse.leaveEndDate
@ -228,8 +219,19 @@ function updateLeaveTotal() {
formDataFollowSpouse.leaveTotal = newLeaveTotal;
}
/**
* function พเดทค LeaveTotal
*/
function updateLeaveHistoryTotal() {
const newLeaveTotal = calculateDurationYmd(
formDataFollowSpouse.coupleDayStartDateHistory,
formDataFollowSpouse.coupleDayEndDateHistory
);
formDataFollowSpouse.coupleDayTotalHistory = newLeaveTotal;
}
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => {
onMounted(async () => {
if (props.data) {
formDataFollowSpouse.leaveWrote = props.data.leaveWrote;
formDataFollowSpouse.leaveStartDate = new Date(props.data.leaveStartDate);
@ -244,10 +246,26 @@ onMounted(() => {
formDataFollowSpouse.coupleDayLevel = props.data.coupleDayLevel;
formDataFollowSpouse.coupleDayLevelCountry =
props.data.coupleDayLevelCountry;
formDataFollowSpouse.followHistoryCountry = props.data.followHistoryCountry;
formDataFollowSpouse.followHistoryTime = props.data.followHistoryTime;
formDataFollowSpouse.followHistoryStart = props.data.followHistoryStart;
formDataFollowSpouse.followHistoryEnd = props.data.followHistoryEnd;
formDataFollowSpouse.coupleDayCountryHistory =
props.data.coupleDayCountryHistory;
formDataFollowSpouse.coupleDayTotalHistory =
props.data.coupleDayTotalHistory;
formDataFollowSpouse.coupleDayStartDateHistory =
props.data.coupleDayStartDateHistory;
formDataFollowSpouse.coupleDayEndDateHistory =
props.data.coupleDayEndDateHistory;
const leaveTotal = await calculateDurationYmd(
new Date(props.data.leaveStartDate),
new Date(props.data.leaveEndDate)
);
formDataFollowSpouse.leaveTotal = leaveTotal;
const coupleDayTotalHistory = await calculateDurationYmd(
new Date(props.data.coupleDayStartDateHistory),
new Date(props.data.coupleDayEndDateHistory)
);
formDataFollowSpouse.coupleDayTotalHistory = coupleDayTotalHistory;
}
});
</script>
@ -332,7 +350,7 @@ onMounted(() => {
hide-bottom-space
:enableTimePicker="false"
week-start="0"
@update:model-value="updateLeaveTotal, FetchCheck()"
@update:model-value="updateLeaveTotal()"
:readonly="!formDataFollowSpouse.leaveStartDate"
:min-date="formDataFollowSpouse.leaveStartDate"
>
@ -392,7 +410,7 @@ onMounted(() => {
for="leaveSalaryRef"
dense
outlined
v-model="formattSalary"
v-model="dataStore.salary"
label="เงินเดือนปัจจุบัน"
readonly
/>
@ -406,7 +424,7 @@ onMounted(() => {
for="leaveSalaryRef"
dense
outlined
v-model="formattleaveSalaryText"
v-model="dataStore.salaryText"
label="เงินเดือนปัจจุบัน"
readonly
/>
@ -476,16 +494,15 @@ onMounted(() => {
ประวการลาตดตามคสมรสครงสดทาย
</div>
<datepicker
class="col-12 col-md-3 col-sm-12"
class="col-12 col-md-3 col-sm-12 inputgreen"
menu-class-name="modalfix"
v-model="formDataFollowSpouse.followHistoryStart"
v-model="formDataFollowSpouse.coupleDayStartDateHistory"
:locale="'th'"
autoApply
hide-bottom-space
borderless
:enableTimePicker="false"
week-start="0"
readonly
>
<template #year="{ year }">
{{ year + 543 }}
@ -497,15 +514,14 @@ onMounted(() => {
<q-input
outlined
dense
ref="followHistoryStartRef"
for="followHistoryStartRef"
ref="coupleDayStartDateHistoryRef"
for="coupleDayStartDateHistoryRef"
hide-bottom-space
readonly
bg-color="white"
class="full-width"
:model-value="
formDataFollowSpouse.followHistoryStart != null
? date2Thai(formDataFollowSpouse.followHistoryStart)
formDataFollowSpouse.coupleDayStartDateHistory != null
? date2Thai(formDataFollowSpouse.coupleDayStartDateHistory)
: null
"
:label="`${'ตั้งแต่วันที่'}`"
@ -515,7 +531,7 @@ onMounted(() => {
<q-icon
name="event"
class="cursor-pointer"
style="color: var(--black)"
style="color: var(--q-primary)"
>
</q-icon>
</template>
@ -523,16 +539,16 @@ onMounted(() => {
</template>
</datepicker>
<datepicker
class="col-12 col-md-3 col-sm-12"
class="col-12 col-md-3 col-sm-12 inputgreen"
menu-class-name="modalfix"
v-model="formDataFollowSpouse.followHistoryEnd"
v-model="formDataFollowSpouse.coupleDayEndDateHistory"
:locale="'th'"
autoApply
hide-bottom-space
borderless
:enableTimePicker="false"
week-start="0"
readonly
@update:model-value="updateLeaveHistoryTotal()"
>
<template #year="{ year }">
{{ year + 543 }}
@ -544,15 +560,14 @@ onMounted(() => {
<q-input
outlined
dense
ref="followHistoryEndRef"
for="followHistoryEndRef"
ref="coupleDayEndDateHistoryRef"
for="coupleDayEndDateHistoryRef"
hide-bottom-space
bg-color="white"
readonly
class="full-width"
:model-value="
formDataFollowSpouse.followHistoryEnd != null
? date2Thai(formDataFollowSpouse.followHistoryEnd)
formDataFollowSpouse.coupleDayEndDateHistory != null
? date2Thai(formDataFollowSpouse.coupleDayEndDateHistory)
: null
"
:label="`${'ถึงวันที่'}`"
@ -562,37 +577,38 @@ onMounted(() => {
<q-icon
name="event"
class="cursor-pointer"
style="color: var(--black)"
style="color: var(--q-primary)"
>
</q-icon>
</template>
</q-input>
</template>
</datepicker>
<q-input
class="col-12 col-md-3 col-sm-12"
dense
outlined
readonly
hide-bottom-space
bg-color="white"
ref="coupleDayTotalHistoryRef"
for="coupleDayTotalHistoryRef"
v-model="formDataFollowSpouse.coupleDayTotalHistory"
label="เป็นเวลา"
/>
<q-input
class="col-12 col-md-3 col-sm-12"
dense
outlined
hide-bottom-space
bg-color="white"
ref="followHistoryCountryRef"
for="followHistoryCountryRef"
v-model="formDataFollowSpouse.followHistoryCountry"
ref="coupleDayCountryHistoryRef"
for="coupleDayCountryHistoryRef"
v-model="formDataFollowSpouse.coupleDayCountryHistory"
label="ประเทศ"
:rules="[(val) => !!val || `${'กรุณาเลือกประเทศ'}`]"
readonly
/>
<q-input
class="col-12 col-md-3 col-sm-12"
dense
outlined
:readonly="formDataFollowSpouse.followHistoryTime !== ''"
hide-bottom-space
bg-color="white"
ref="followHistoryTimeRef"
for="followHistoryTimeRef"
v-model="formDataFollowSpouse.followHistoryTime"
label="เป็นเวลา"
/>
<q-input
@ -619,7 +635,6 @@ onMounted(() => {
label="เอกสารประกอบ"
outlined
use-chips
class="q-pl-sm col-12"
>
<template v-slot:prepend>

View file

@ -13,7 +13,7 @@ import genReport from "@/plugins/genreport";
const dataStore = useLeaveStore();
const $q = useQuasar();
const mixin = useCounterMixin();
const { date2Thai, dialogConfirm, fails, dateToISO, success, messageError } =
const { date2Thai, dialogConfirm, fails, dateToISO, success, messageError, showLoader } =
mixin;
const router = useRouter();
const edit = ref<boolean>(true);
@ -151,7 +151,6 @@ async function onClickDownloadFile(id: string, fileName: string) {
await http
.get(config.API.leaveReport(id))
.then(async (res) => {
console.log(res);
const data = res.data.result;
await genReport(data, fileName);
})
@ -163,6 +162,7 @@ async function onClickDownloadFile(id: string, fileName: string) {
});
}
const leaveDraftDocument = ref<string>();
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
onMounted(() => {
if (props.data) {
@ -171,8 +171,7 @@ onMounted(() => {
formDataRehabilitation.leaveEndDate = new Date(props.data.leaveEndDate);
formDataRehabilitation.leaveDetail = props.data.leaveDetail;
// formDataRehabilitation.leaveDocument = props.data.leaveDocument;
// formDataRehabilitation.leaveDraftDocument =
// props.data.leaveDraftDocument;
leaveDraftDocument.value = props.data.leaveDraftDocument;
}
});
</script>
@ -302,7 +301,7 @@ onMounted(() => {
label="รายละเอียด"
/>
<div class="col-12 col-sm-6">
<div class="col-12">
<!-- multiple -->
<q-file
v-model="formDataRehabilitation.leaveDocument"
@ -311,7 +310,6 @@ onMounted(() => {
bg-color="white"
dense
outlined
label="เอกสารประกอบ"
>
<template v-slot:prepend>
@ -343,14 +341,7 @@ onMounted(() => {
</div>
</q-card>
<div
v-if="
formDataRehabilitation.leaveWrote &&
formDataRehabilitation.leaveStartDate &&
formDataRehabilitation.leaveEndDate
"
class="q-mt-md"
>
<div v-if="data && data.id" class="q-mt-md">
<div style="display: flex; align-items: center">
<q-icon name="mdi-numeric-4-circle" size="20px" color="primary" />
<div class="q-pl-sm text-weight-bold text-dark">
@ -359,34 +350,29 @@ onMounted(() => {
</div>
<q-card class="bg-grey-1 q-pa-sm" bordered>
<div class="row">
<div class="col-12 col-sm-4 col-md-4 q-my-sm offset-sm-1 offset-md-2">
<div class="col-sm-3 q-my-sm">
<div class="column q-mx-xs">
<div class="q-pl-sm text-weight-bold text-dark text-center">
<!-- <div class="q-pl-sm text-weight-bold text-dark text-center">
ดาวนโหลด
</div>
</div> -->
<q-btn
color="primary"
icon="download"
label="ดาวน์โหลดแบบฟอร์ม"
@click="
onClickDownloadFile(
'08dc05c8-4cfd-4603-81f8-92a401571717',
'แบบฟอร์ม'
)
"
@click="onClickDownloadFile(data.id, `แบบฟอร์ม${data.leaveTypeName}`)"
/>
</div>
</div>
<div class="col-10 col-sm-5 col-md-4 q-my-sm">
<div class="col-sm-5 q-my-sm">
<div class="column q-mx-xs">
<div class="q-pl-sm text-weight-bold text-dark text-center">
<!-- <div class="q-pl-sm text-weight-bold text-dark text-center">
ปโหลด
</div>
</div> -->
<q-file
v-model="formDataRehabilitation.leaveDraftDocument"
use-chips
dense
label="แบบฟอร์ม"
label="อัปโหลดแบบฟอร์ม"
outlined
bg-color="white"
accept="application/pdf"
@ -397,6 +383,21 @@ onMounted(() => {
</q-file>
</div>
</div>
<div v-if="leaveDraftDocument" class="col-sm-2 q-my-sm">
<div class="column q-mx-xs">
<!-- <div class="q-pl-sm text-weight-bold text-dark text-center">
ไฟลปโหลด
</div> -->
<q-btn
icon="visibility"
color="blue"
label="ดาวน์โหลดไฟล์"
:href="leaveDraftDocument"
target="_blank"
/>
</div>
</div>
<!-- <div class="col-md-1 self-end q-mb-sm">
<q-btn v-if="formDataRehabilitation.leaveDraftDocument != null" flat round color="primary" icon="mdi-arrow-up-bold" @click="fileUploadDoc"
><q-tooltip>ปโหลด</q-tooltip></q-btn

View file

@ -47,10 +47,10 @@ const formData = reactive<any>({
leaveTypeName: "", // Name
leaveTypeId: "", //Id
fullname: "", //
dateSendLeave: new Date(), //
dateSendLeave: null, //
status: "", //
leaveDateStart: new Date(), //
leaveDateEnd: new Date(), //
leaveDateStart: null, //
leaveDateEnd: null, //
leaveCount: 0, //
leaveWrote: "", //
leaveAddress: "", //
@ -58,29 +58,29 @@ const formData = reactive<any>({
leaveDetail: "", //
leaveDocument: "", //
leaveDraftDocument: "", //
leaveLastStart: new Date(), // ( )(Auto)
leaveLastEnd: new Date(), // ( )(Auto)
leaveLastStart: null, // ( )(Auto)
leaveLastEnd: null, // ( )(Auto)
leaveTotal: 0, //(Auto)
leavebirthDate: new Date(), //(Auto)
leavegovernmentDate: new Date(), //(Auto)
leavebirthDate: null, //(Auto)
leavegovernmentDate: null, //(Auto)
leaveSalary: 0, //(Auto)
leaveSalaryText: "", //()
leaveTypeDay: "", //
wifeDayName: "", //()
wifeDayDateBorn: new Date(), //()
wifeDayDateBorn: null, //()
restDayOldTotal: 0, // ()(Auto)
restDayCurrentTotal: 0, //()(Auto)
ordainDayStatus: "", /// () ()
ordainDayLocationName: "", // ()
ordainDayLocationAddress: "", // ()
ordainDayLocationNumber: "", // ()
ordainDayOrdination: new Date(), // ()
ordainDayOrdination: null, // ()
ordainDayBuddhistLentName: "", // ()
ordainDayBuddhistLentAddress: "", // ()
hajjDayStatus: "", /// () ()
absentDaySummon: "", // ()
absentDayLocation: "", // ()
absentDayRegistorDate: new Date(), // ()
absentDayRegistorDate: null, // ()
absentDayGetIn: "", // ()
absentDayAt: "", // ()
studyDaySubject: "", // ( )
@ -96,8 +96,8 @@ const formData = reactive<any>({
coupleDayLevelCountry: "", // ()
coupleDayCountryHistory: "", // ()
coupleDayTotalHistory: "", // ()
coupleDayStartDateHistory: new Date(), // ()
coupleDayEndDateHistory: new Date(), // ()
coupleDayStartDateHistory: null, // ()
coupleDayEndDateHistory: null, // ()
coupleDaySumTotalHistory: "", // ()
approveStep: "",
dear: "",
@ -183,11 +183,8 @@ async function fetchDataDetail(id: string) {
formData.coupleDayLevelCountry = data.coupleDayLevelCountry ?? "-";
formData.coupleDayCountryHistory = data.coupleDayCountryHistory ?? "-";
formData.coupleDayTotalHistory = data.coupleDayTotalHistory ?? "-";
formData.coupleDayStartDateHistory =
data.coupleDayStartDateHistory &&
date2Thai(data.coupleDayStartDateHistory);
formData.coupleDayEndDateHistory =
data.coupleDayEndDateHistory && date2Thai(data.coupleDayEndDateHistory);
formData.coupleDayStartDateHistory = data.coupleDayStartDateHistory;
formData.coupleDayEndDateHistory = data.coupleDayEndDateHistory;
formData.coupleDaySumTotalHistory = data.coupleDaySumTotalHistory ?? "-";
formData.approveStep = data.approveStep ?? "-";
formData.dear = data.dear ?? "-";
@ -254,7 +251,8 @@ function onConfirm(id: string) {
// await http
// .post(config.API.leaveUser() + "/" + id)
// .then(() => {
// success($q, "");
router.push("/leave");
success($q, "ยื่นใบลาสำเร็จ");
// })
// .catch((e: any) => {
// messageError($q, e);