แก้ popup รายการรอบการปฏิบัติงาน

This commit is contained in:
setthawutttty 2023-10-31 16:21:04 +07:00
parent 37a39c6037
commit d10c919b2d
4 changed files with 40 additions and 27 deletions

View file

@ -48,7 +48,6 @@ function validateForm() {
if (hasError.every((result) => result === true)) { if (hasError.every((result) => result === true)) {
onSubmit(); onSubmit();
} else { } else {
console.log("ไม่ผ่าน ");
console.log(hasError); console.log(hasError);
} }
} }
@ -56,7 +55,6 @@ function onSubmit() {
dialogConfirm( dialogConfirm(
$q, $q,
async () => { async () => {
console.log(formData);
props.closeDialog?.(); props.closeDialog?.();
}, },
"ยืนยันการบันทึกข้อมูล", "ยืนยันการบันทึกข้อมูล",
@ -78,21 +76,22 @@ function close() {
watch( watch(
() => props.modal, () => props.modal,
(newDetailData, oldDetailData) => { (newDetailData, oldDetailData) => {
console.log(props.editCheck);
if (props.editCheck === "add") { if (props.editCheck === "add") {
formData.am = ""; formData.am = "";
formData.amOut = ""; formData.amOut = "";
formData.pm = ""; formData.pm = "";
formData.pmOut = ""; formData.pmOut = "";
formData.note = ""; formData.note = "";
formData.isDefault = false;
formData.status = false; formData.status = false;
} else { } else if(props.editCheck === "edit"){
if (props.detailData) { if (props.detailData) {
formData.am = props.detailData.am; formData.am = props.detailData.am;
formData.amOut = props.detailData.amOut; formData.amOut = props.detailData.amOut;
formData.pm = props.detailData.pm; formData.pm = props.detailData.pm;
formData.pmOut = props.detailData.pmOut; formData.pmOut = props.detailData.pmOut;
formData.note = props.detailData.note; formData.note = props.detailData.note;
formData.isDefault = props.detailData.isDefault;
formData.status = props.detailData.status; formData.status = props.detailData.status;
} }
} }
@ -136,10 +135,10 @@ watch(
(val) => { (val) => {
if (val && formData.amOut) { if (val && formData.amOut) {
if (val > formData.amOut) { if (val > formData.amOut) {
return 'เวลาเข้างานต้องน้อยกว่าเวลาออกงาน'; return 'ต้องน้อยกว่าเวลาออกงาน';
} }
if (val >= formData.pm && val <= formData.pmOut) { if (val >= formData.pm && val <= formData.pmOut) {
return 'เวลาเข้างานต้องไม่อยู่ในช่วงบ่าย'; return 'ช่วงเวลาทับซ้อนกับช่วงบ่าย';
} }
if(val === formData.amOut){ if(val === formData.amOut){
return 'เวลาเข้างานช่วงเช้าต้องไม่ซ้ำกับออกงานเช้า' return 'เวลาเข้างานช่วงเช้าต้องไม่ซ้ำกับออกงานเช้า'
@ -171,10 +170,10 @@ watch(
(val) => { (val) => {
if (val && formData.am) { if (val && formData.am) {
if (val < formData.am) { if (val < formData.am) {
return 'เวลาออกงานต้องมากกว่าเวลาเข้างาน'; return 'ต้องมากกว่าเวลาเข้างาน';
} }
if (val >= formData.pm && val <= formData.pmOut) { if (val >= formData.pm && val <= formData.pmOut) {
return 'เวลาออกงานต้องไม่อยู่ในช่วงบ่าย'; return 'ช่วงเวลาทับซ้อนกับช่วงบ่าย';
} }
if(val === formData.am){ if(val === formData.am){
return 'เวลาออกงานช่วงเช้าต้องไม่ซ้ำกับเข้างานเช้า' return 'เวลาออกงานช่วงเช้าต้องไม่ซ้ำกับเข้างานเช้า'
@ -202,10 +201,10 @@ watch(
(val) => { (val) => {
if (val && formData.pmOut) { if (val && formData.pmOut) {
if (val > formData.pmOut) { if (val > formData.pmOut) {
return 'เวลาเข้างานต้องน้อยกว่าเวลาออกงาน'; return 'ต้องน้อยกว่าเวลาออกงาน';
} }
if (val >= formData.am && val <= formData.amOut) { if (val >= formData.am && val <= formData.amOut) {
return 'เวลาเข้างานต้องไม่อยู่ในช่วงเช้า'; return 'ช่วงเวลาทับซ้อนกับช่วงเช้า';
} }
if(val === formData.pmOut){ if(val === formData.pmOut){
return 'เวลาเข้างานช่วงบ่ายต้องไม่ซ้ำกับออกงานช่วงบ่าย' return 'เวลาเข้างานช่วงบ่ายต้องไม่ซ้ำกับออกงานช่วงบ่าย'
@ -236,7 +235,7 @@ watch(
(val) => { (val) => {
if (val && formData.pm) { if (val && formData.pm) {
if (val < formData.pm) { if (val < formData.pm) {
return 'เวลาออกงานต้องมากกว่าเวลาเข้างาน'; return 'ต้องมากกว่าเวลาเข้างาน';
} }
if (val >= formData.am && val <= formData.amOut) { if (val >= formData.am && val <= formData.amOut) {
return 'เวลาออกงานต้องไม่อยู่ในช่วงเช้า'; return 'เวลาออกงานต้องไม่อยู่ในช่วงเช้า';

View file

@ -14,6 +14,18 @@ interface dataRowRound {
status: boolean status: boolean
isDefault: boolean isDefault: boolean
} }
interface roundShow {
round: string;
am: string;
amOut: string;
pm: string;
pmOut: string;
amRound: string;
pmRound: string;
note: string;
status: boolean;
isDefault: boolean;
}
interface MyObjectRoundRef { interface MyObjectRoundRef {
am: object | null, am: object | null,
amOut: object | null, amOut: object | null,
@ -24,5 +36,6 @@ interface MyObjectRoundRef {
export type { export type {
RoundRows, RoundRows,
dataRowRound, dataRowRound,
MyObjectRoundRef MyObjectRoundRef,
roundShow
}; };

View file

@ -1,6 +1,6 @@
import { defineStore } from "pinia"; import { defineStore } from "pinia";
import { ref } from "vue"; import { ref } from "vue";
import type { dataRowRound } from "@/modules/09_leave/interface/response/round.ts"; import type { dataRowRound,roundShow } from "@/modules/09_leave/interface/response/round.ts";
import type { QTableProps } from "quasar"; import type { QTableProps } from "quasar";
// store ลา >> รอบการปฏิบัติงาน // store ลา >> รอบการปฏิบัติงาน
@ -10,10 +10,8 @@ export const useRoundDataStore = defineStore(
//ค้นหา คอลัมน์ คอลัมน์ที่แสดง //ค้นหา คอลัมน์ คอลัมน์ที่แสดง
const visibleColumns = ref<string[]>([ const visibleColumns = ref<string[]>([
"round", "round",
"am", "amRound",
"amOut", "pmRound",
"pm",
"pmOut",
"note", "note",
"status" "status"
]); ]);
@ -30,20 +28,20 @@ export const useRoundDataStore = defineStore(
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "am", name: "amRound",
align: "left", align: "left",
label: "ช่วงเช้า", label: "ช่วงเช้า",
sortable: true, sortable: true,
field: "am", field: "amRound",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "pm", name: "pmRound",
align: "left", align: "left",
label: "ช่วงบ่าย", label: "ช่วงบ่าย",
sortable: true, sortable: true,
field: "pm", field: "pmRound",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
@ -70,11 +68,15 @@ export const useRoundDataStore = defineStore(
// ข้อมูลในตาราง // ข้อมูลในตาราง
const rows = ref<dataRowRound[]>([]); const rows = ref<dataRowRound[]>([]);
function fetchData(data: dataRowRound[]) { function fetchData(data: dataRowRound[]) {
let datalist: dataRowRound[] = data.map((e: dataRowRound) => { let datalist: roundShow[] = data.map((e: dataRowRound) => {
return { return {
round:`${e.am}-${e.pmOut}`, round:`${e.am}-${e.pmOut}`,
am: `${e.am}-${e.amOut}`, am: e.am,
pm: `${e.pm}-${e.pmOut}`, amOut: e.amOut,
pm: e.pm,
pmOut: e.pmOut,
amRound:`${e.am}-${e.amOut}`,
pmRound:`${e.pm}-${e.pmOut}`,
note: e.note === '' ? '-':e.note, note: e.note === '' ? '-':e.note,
status: e.status, status: e.status,
isDefault: e.isDefault, isDefault: e.isDefault,

View file

@ -36,7 +36,6 @@ const paginationLabel = (start: string, end: string, total: string) => {
}; };
function openModal(data:any,check:string){ function openModal(data:any,check:string){
console.log(check)
modal.value = true modal.value = true
editCheck.value = check editCheck.value = check
if(check === 'edit'){ if(check === 'edit'){
@ -66,7 +65,7 @@ onMounted(() => {
pmOut: "15:30", pmOut: "15:30",
note: "", note: "",
status: false, status: false,
isDefault:true isDefault:false
}, },
{ {
am: "09:30", am: "09:30",
@ -75,7 +74,7 @@ onMounted(() => {
pmOut: "15:30", pmOut: "15:30",
note: "", note: "",
status: true, status: true,
isDefault:true isDefault:false
}, },
{ {
am: "10:30", am: "10:30",