แก้ฟอร์มสิทธิ์การลา staff และ OWNER

This commit is contained in:
Warunee Tamkoo 2026-05-01 16:00:08 +07:00
parent c20e67d1a1
commit de95ae61c0

View file

@ -10,6 +10,7 @@ import { useCounterMixin } from "@/stores/mixin";
import { useLeaveHistoryDataStore } from "@/modules/09_leave/stores/LeaveHistoryStore";
import { calculateFiscalYear } from "@/utils/function";
import { usePagination } from "@/composables/usePagination";
import { checkPermission } from "@/utils/permissions";
import type { QTableColumn } from "quasar";
import type { DataOption } from "@/modules/09_leave/interface/index/Main";
@ -104,20 +105,24 @@ async function onSubmit() {
leaveTypeId: formData.leaveTypeId,
leaveYear: formData.leaveYear,
leaveDays: formData.leaveDays ? Number(formData.leaveDays) : 0,
leaveDaysUsed: formData.leaveDaysUsed
? Number(formData.leaveDaysUsed)
leaveDaysUsed:
checkPermission(route)?.attrOwnership === "OWNER"
? formData.leaveDaysUsed
? Number(formData.leaveDaysUsed)
: 0
: undefined,
leaveCount:
checkPermission(route)?.attrOwnership === "OWNER"
? formData.leaveCount
? Number(formData.leaveCount)
: 0
: undefined,
beginningLeaveDays: formData.beginningLeaveDays
? Number(formData.beginningLeaveDays)
: 0,
beginningLeaveCount: formData.beginningLeaveCount
? Number(formData.beginningLeaveCount)
: 0,
leaveCount: formData.leaveCount ? Number(formData.leaveCount) : 0,
beginningLeaveDays: !isStatusEdit.value
? formData.leaveDaysUsed
? Number(formData.leaveDaysUsed)
: 0
: undefined,
beginningLeaveCount: !isStatusEdit.value
? formData.leaveCount
? Number(formData.leaveCount)
: 0
: undefined,
})
.then(async () => {
@ -470,30 +475,8 @@ watch(modal, async (val) => {
:rules="[(val: string) => !val || /^\d+(\.\d*)?$/.test(val) || 'กรุณากรอกเฉพาะตัวเลข']"
/>
</div>
<div class="col-12">
<q-input
:class="classInput(true)"
v-model="formData.leaveDaysUsed"
dense
outlined
label="ที่ใช้ไป (วัน)"
hide-bottom-space
:rules="[(val: string) => !val || /^\d+(\.\d*)?$/.test(val) || 'กรุณากรอกเฉพาะตัวเลข']"
/>
</div>
<div class="col-12">
<q-input
:class="classInput(true)"
v-model="formData.leaveCount"
dense
outlined
label="ที่ใช้ไป (ครั้ง)"
hide-bottom-space
:rules="[(val: string) => !val || /^\d+$/.test(val) || 'กรุณากรอกเฉพาะตัวเลขที่เป็นจำนวนเต็ม']"
/>
</div>
<!-- <div class="col-12">
<div class="col-12">
<q-input
:class="classInput(true)"
v-model="formData.beginningLeaveDays"
@ -515,7 +498,36 @@ watch(modal, async (val) => {
:rules="[(val: string) => !val || /^\d+$/.test(val) || 'กรุณากรอกเฉพาะตัวเลขที่เป็นจำนวนเต็ม']"
hint="* จำนวนครั้งของการลาในปีงบประมาณนี้ที่เกิดขึ้นก่อนเริ่มใช้ระบบ"
/>
</div> -->
</div>
<div
v-if="checkPermission(route)?.attrOwnership === 'OWNER'"
class="col-12"
>
<q-input
:class="classInput(true)"
v-model="formData.leaveDaysUsed"
dense
outlined
label="ที่ใช้ไปทั้งหมด (วัน)"
hide-bottom-space
:rules="[(val: string) => !val || /^\d+(\.\d*)?$/.test(val) || 'กรุณากรอกเฉพาะตัวเลข']"
/>
</div>
<div
v-if="checkPermission(route)?.attrOwnership === 'OWNER'"
class="col-12"
>
<q-input
:class="classInput(true)"
v-model="formData.leaveCount"
dense
outlined
label="ที่ใช้ไปทั้งหมด (ครั้ง)"
hide-bottom-space
:rules="[(val: string) => !val || /^\d+$/.test(val) || 'กรุณากรอกเฉพาะตัวเลขที่เป็นจำนวนเต็ม']"
/>
</div>
</div>
</div>
</div>