ui specialTime
เพิ่มตัวแปร checkIn checkOut
This commit is contained in:
parent
02c8376b7f
commit
f8843a2990
5 changed files with 34 additions and 44 deletions
|
|
@ -14,24 +14,22 @@ const $q = useQuasar();
|
|||
const mixin = useCounterMixin();
|
||||
const { dialogConfirm, date2Thai } = mixin;
|
||||
const currentDate = ref<Date | null>(new Date());
|
||||
const startTimeMorningRef = ref<Object | null>(null);
|
||||
const endTimeMorningRef = ref<Object | null>(null);
|
||||
const checkInRef = ref<Object | null>(null);
|
||||
const checkOutRef = ref<Object | null>(null);
|
||||
const checkInStatusRef = ref<Object | null>(null);
|
||||
const checkOutStatusRef = ref<Object | null>(null);
|
||||
|
||||
const formData = reactive<dataRowRound>({
|
||||
startTimeMorning: "",
|
||||
endTimeMorning: "",
|
||||
startTimeAfternoon: "",
|
||||
endTimeAfternoon: "",
|
||||
checkIn: "",
|
||||
checkOut: "",
|
||||
note: "",
|
||||
checkInStatus: "",
|
||||
checkOutStatus: "",
|
||||
});
|
||||
|
||||
const objectRound: MyObjectRoundRef = {
|
||||
startTimeMorning: startTimeMorningRef,
|
||||
endTimeMorning: endTimeMorningRef,
|
||||
checkIn: checkInRef,
|
||||
checkOut: checkOutRef,
|
||||
checkInStatus: checkInStatusRef,
|
||||
checkOutStatus: checkOutStatusRef,
|
||||
};
|
||||
|
|
@ -81,17 +79,13 @@ watch(
|
|||
() => props.modal,
|
||||
(newDetailData, oldDetailData) => {
|
||||
if (props.editCheck === "APPROVE") {
|
||||
formData.startTimeMorning = "";
|
||||
formData.endTimeMorning = "";
|
||||
formData.startTimeAfternoon = "";
|
||||
formData.endTimeAfternoon = "";
|
||||
formData.checkIn = "";
|
||||
formData.checkOut = "";
|
||||
formData.note = "";
|
||||
} else if (props.editCheck === "PENDING") {
|
||||
if (props.detailData) {
|
||||
formData.startTimeMorning = props.detailData.startTimeMorning;
|
||||
formData.endTimeMorning = props.detailData.endTimeMorning;
|
||||
formData.startTimeAfternoon = props.detailData.startTimeAfternoon;
|
||||
formData.endTimeAfternoon = props.detailData.endTimeAfternoon;
|
||||
formData.checkIn = props.detailData.checkIn;
|
||||
formData.checkOut = props.detailData.checkOut;
|
||||
formData.note = props.detailData.note;
|
||||
}
|
||||
}
|
||||
|
|
@ -174,27 +168,21 @@ watch(
|
|||
<div class="row justify-between q-my-sm items-start">
|
||||
<p class="q-ma-none mt">เวลาเข้างาน</p>
|
||||
<q-input
|
||||
ref="startTimeMorningRef"
|
||||
ref="checkInRef"
|
||||
class="inputgreen"
|
||||
dense
|
||||
lazy-rules
|
||||
borderless
|
||||
outlined
|
||||
v-model="formData.startTimeMorning"
|
||||
v-model="formData.checkIn"
|
||||
:rules="[
|
||||
(val) => !!val || 'กรุณากรอกเวลาเข้างาน',
|
||||
(val) => {
|
||||
if (val && formData.endTimeMorning) {
|
||||
if (val > formData.endTimeMorning) {
|
||||
if (val && formData.checkOut) {
|
||||
if (val > formData.checkOut) {
|
||||
return 'ต้องน้อยกว่าเวลาออกงาน';
|
||||
}
|
||||
if (
|
||||
val >= formData.startTimeAfternoon &&
|
||||
val <= formData.endTimeAfternoon
|
||||
) {
|
||||
return 'ช่วงเวลาทับซ้อนกับช่วงบ่าย';
|
||||
}
|
||||
if (val === formData.endTimeMorning) {
|
||||
if (val === formData.checkOut) {
|
||||
return 'เวลาเข้างานช่วงเช้าต้องไม่ซ้ำกับออกงานเช้า';
|
||||
}
|
||||
}
|
||||
|
|
@ -210,27 +198,21 @@ watch(
|
|||
<div class="row items-start q-my-sm justify-between">
|
||||
<p class="q-ma-none mt">เวลาออกงาน</p>
|
||||
<q-input
|
||||
ref="endTimeMorningRef"
|
||||
ref="checkOutRef"
|
||||
class="inputgreen"
|
||||
dense
|
||||
v-model="formData.endTimeMorning"
|
||||
v-model="formData.checkOut"
|
||||
lazy-rules
|
||||
borderless
|
||||
outlined
|
||||
:rules="[
|
||||
(val) => !!val || 'กรุณากรอกเวลาออกงาน',
|
||||
(val) => {
|
||||
if (val && formData.startTimeMorning) {
|
||||
if (val < formData.startTimeMorning) {
|
||||
if (val && formData.checkIn) {
|
||||
if (val < formData.checkIn) {
|
||||
return 'ต้องมากกว่าเวลาเข้างาน';
|
||||
}
|
||||
if (
|
||||
val >= formData.startTimeAfternoon &&
|
||||
val <= formData.endTimeAfternoon
|
||||
) {
|
||||
return 'ช่วงเวลาทับซ้อนกับช่วงบ่าย';
|
||||
}
|
||||
if (val === formData.startTimeMorning) {
|
||||
if (val === formData.checkIn) {
|
||||
return 'เวลาออกงานช่วงเช้าต้องไม่ซ้ำกับเข้างานเช้า';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,5 +10,7 @@ interface ListData {
|
|||
status: string;
|
||||
checkInStatus: string;
|
||||
checkOutStatus: string;
|
||||
checkOut: string;
|
||||
checkIn: string;
|
||||
}
|
||||
export type { ListData };
|
||||
|
|
|
|||
|
|
@ -8,17 +8,15 @@ interface DataRows {
|
|||
status: string;
|
||||
}
|
||||
interface dataRowRound {
|
||||
startTimeMorning: string;
|
||||
endTimeMorning: string;
|
||||
startTimeAfternoon: string;
|
||||
endTimeAfternoon: string;
|
||||
checkIn: string;
|
||||
checkOut: string;
|
||||
checkInStatus: string;
|
||||
checkOutStatus: string;
|
||||
note: string;
|
||||
}
|
||||
interface MyObjectRoundRef {
|
||||
startTimeMorning: object | null;
|
||||
endTimeMorning: object | null;
|
||||
checkIn: object | null;
|
||||
checkOut: object | null;
|
||||
checkInStatus: object | null;
|
||||
checkOutStatus: object | null;
|
||||
[key: string]: any;
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ export const useSpecialTimeStore = defineStore("LeaveSpecialTime", () => {
|
|||
endTimeMorning: e.endTimeMorning,
|
||||
startTimeAfternoon: e.startTimeAfternoon,
|
||||
endTimeAfternoon: e.endTimeAfternoon,
|
||||
checkIn: e.checkOut,
|
||||
checkOut: e.checkOut,
|
||||
status: e.status,
|
||||
checkInStatus: convertStatus(e.checkInStatus),
|
||||
checkOutStatus: convertStatus(e.checkOutStatus),
|
||||
|
|
|
|||
|
|
@ -76,6 +76,8 @@ onMounted(async () => {
|
|||
status: "PENDING",
|
||||
checkInStatus: "normal",
|
||||
checkOutStatus: "late",
|
||||
checkIn: "08:00",
|
||||
checkOut: "12.00",
|
||||
},
|
||||
{
|
||||
id: "00000000-0000-0000-0000-000000000000",
|
||||
|
|
@ -89,6 +91,8 @@ onMounted(async () => {
|
|||
status: "APPROVE",
|
||||
checkInStatus: "normal",
|
||||
checkOutStatus: "late",
|
||||
checkIn: "08:00",
|
||||
checkOut: "12.00",
|
||||
},
|
||||
{
|
||||
id: "00000000-0000-0000-0000-000000000000",
|
||||
|
|
@ -102,6 +106,8 @@ onMounted(async () => {
|
|||
status: "REJECT",
|
||||
checkInStatus: "normal",
|
||||
checkOutStatus: "late",
|
||||
checkIn: "08:00",
|
||||
checkOut: "12.00",
|
||||
},
|
||||
]);
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue