From 776a1b838583e39f14b8df5269a7910048507c2b Mon Sep 17 00:00:00 2001 From: Tanyalak Date: Thu, 26 Oct 2023 17:35:21 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88=E0=B8=A1?= =?UTF-8?q?=20ui=20=E0=B8=A3=E0=B8=B0=E0=B8=9A=E0=B8=9A=E0=B8=A5=E0=B8=B2?= =?UTF-8?q?=20>=20=E0=B8=A3=E0=B8=AD=E0=B8=9A=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B8=9B=E0=B8=8F=E0=B8=B4=E0=B8=9A=E0=B8=B1=E0=B8=95=E0=B8=B4?= =?UTF-8?q?=E0=B8=87=E0=B8=B2=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/interface/request/main/main.ts | 10 +- .../09_leave/interface/response/round.ts | 11 + src/modules/09_leave/router.ts | 11 + src/modules/09_leave/stores/RoundStores.ts | 111 +++++++++ src/modules/09_leave/views/RoundMain.vue | 216 ++++++++++++++++++ 5 files changed, 357 insertions(+), 2 deletions(-) create mode 100644 src/modules/09_leave/interface/response/round.ts create mode 100644 src/modules/09_leave/stores/RoundStores.ts create mode 100644 src/modules/09_leave/views/RoundMain.vue diff --git a/src/interface/request/main/main.ts b/src/interface/request/main/main.ts index a0b52f8d0..a3533531f 100644 --- a/src/interface/request/main/main.ts +++ b/src/interface/request/main/main.ts @@ -378,18 +378,24 @@ const menuList = readonly([ children: [ { key: 9.1, + label: "รอบการปฏิบัติงาน", + path: "/round-time", + role: "leave", + }, + { + key: 9.2, label: "รายการลงเวลาปฏิบัติงาน", path: "/work-list", role: "leave", }, { - key: 9.2, + key: 9.3, label: "รายการลา", path: "/leave-list", role: "leave", }, { - key: 9.3, + key: 9.4, label: "รายงานสถิติ", path: "/statistics-report", role: "leave", diff --git a/src/modules/09_leave/interface/response/round.ts b/src/modules/09_leave/interface/response/round.ts new file mode 100644 index 000000000..795f587be --- /dev/null +++ b/src/modules/09_leave/interface/response/round.ts @@ -0,0 +1,11 @@ +interface RoundRows { + name: string; + position: string; + responsibilities: string; + email: string; + phone: string; +} + +export type { + RoundRows +}; \ No newline at end of file diff --git a/src/modules/09_leave/router.ts b/src/modules/09_leave/router.ts index 936a99a6a..36c344e81 100644 --- a/src/modules/09_leave/router.ts +++ b/src/modules/09_leave/router.ts @@ -3,8 +3,19 @@ const workMain = () => import("@/modules/09_leave/views/WorkingMain.vue") const leaveMain = () => import("@/modules/09_leave/views/LeaveListMain.vue"); const reportMain = () => import("@/modules/09_leave/views/ReportMain.vue") const leaveDetail = () => import("@/modules//09_leave/components/2_Leave/DetailLeave.vue") +const RoundMain = () => import("@/modules/09_leave/views/RoundMain.vue") export default [ + { + path: "/round-time", + name: "/round-time", + component: RoundMain, + meta: { + Auth: true, + Key: [9], + Role: "coin", + }, + }, { path: "/work-list", name: "/work-list", diff --git a/src/modules/09_leave/stores/RoundStores.ts b/src/modules/09_leave/stores/RoundStores.ts new file mode 100644 index 000000000..5eb6cb029 --- /dev/null +++ b/src/modules/09_leave/stores/RoundStores.ts @@ -0,0 +1,111 @@ +import { defineStore } from "pinia"; +import { ref } from "vue"; +import type { RoundRows } from "@/modules/09_leave/interface/response/round.ts"; +import type { QTableProps } from "quasar"; + +// store ลา >> รอบการปฏิบัติงาน +export const useRoundDataStore = defineStore( + "disciplineDirector", + () => { + //ค้นหา คอลัมน์ คอลัมน์ที่แสดง + const visibleColumns = ref([ + "no", + "round", + "am", + "amOut", + "pm", + "pmOut", + "note", + "status" + ]); + + // หัวตาราง + const columns = ref([ + { + name: "no", + align: "left", + label: "ลำดับ", + sortable: false, + field: "no", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "round", + align: "left", + label: "รอบ", + sortable: true, + field: "round", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "am", + align: "left", + label: "ช่วงเช้า", + sortable: true, + field: "am", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "amOut", + align: "left", + label: "ออก", + sortable: true, + field: "amOut", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "pm", + align: "left", + label: "ช่วงบ่าย", + sortable: true, + field: "pm", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "pmOut", + align: "left", + label: "ออก", + sortable: true, + field: "pmOut", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "note", + align: "left", + label: "คำอธิบาย", + sortable: true, + field: "note", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "status", + align: "left", + label: "สถานะการใช้งาน", + sortable: true, + field: "status", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + ]); + + // ข้อมูลในตาราง + const rows = ref([]); + function fetchData(data: RoundRows[]) { + rows.value = data + } + + return { + visibleColumns, + columns, + rows, + fetchData + }; + } +); diff --git a/src/modules/09_leave/views/RoundMain.vue b/src/modules/09_leave/views/RoundMain.vue new file mode 100644 index 000000000..2cdf60e3d --- /dev/null +++ b/src/modules/09_leave/views/RoundMain.vue @@ -0,0 +1,216 @@ + + \ No newline at end of file