ui specialTime

เพิ่มตัวแปร checkIn checkOut
This commit is contained in:
AnandaTon 2023-11-07 12:03:20 +07:00
parent 02c8376b7f
commit f8843a2990
5 changed files with 34 additions and 44 deletions

View file

@ -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 'เวลาออกงานช่วงเช้าต้องไม่ซ้ำกับเข้างานเช้า';
}
}