From 7db2ff22600fd5c7925be544097c39551bafaac8 Mon Sep 17 00:00:00 2001 From: waruneeta Date: Wed, 18 Oct 2023 17:39:08 +0700 Subject: [PATCH] =?UTF-8?q?ui=20=E0=B8=A7=E0=B8=B4=E0=B8=99=E0=B8=B1?= =?UTF-8?q?=E0=B8=A2=20>=20=E0=B8=82=E0=B9=89=E0=B8=AD=E0=B8=A1=E0=B8=B9?= =?UTF-8?q?=E0=B8=A5=E0=B8=9E=E0=B8=B7=E0=B9=89=E0=B8=99=E0=B8=90=E0=B8=B2?= =?UTF-8?q?=E0=B8=99=20>=20=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B8=8A=E0=B8=B7?= =?UTF-8?q?=E0=B9=88=E0=B8=AD=E0=B8=81=E0=B8=A3=E0=B8=A3=E0=B8=A1=E0=B8=81?= =?UTF-8?q?=E0=B8=B2=E0=B8=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/probation/MainProbation.vue | 59 +------ .../6_BasicInformation/Director/AddPage.vue | 34 ++++ .../6_BasicInformation/Director/EditPage.vue | 56 +++++++ .../6_BasicInformation/Director/Form.vue | 145 +++++++++++++++++ .../6_BasicInformation/Director/MainPage.vue | 147 +++++++++++++++++- .../interface/request/director.ts | 24 +++ .../interface/response/director.ts | 12 ++ src/modules/11_discipline/router.ts | 32 +++- .../11_discipline/stroes/DirectorStore.ts | 91 +++++++++++ 9 files changed, 535 insertions(+), 65 deletions(-) create mode 100644 src/modules/11_discipline/components/6_BasicInformation/Director/AddPage.vue create mode 100644 src/modules/11_discipline/components/6_BasicInformation/Director/EditPage.vue create mode 100644 src/modules/11_discipline/components/6_BasicInformation/Director/Form.vue create mode 100644 src/modules/11_discipline/interface/request/director.ts create mode 100644 src/modules/11_discipline/interface/response/director.ts create mode 100644 src/modules/11_discipline/stroes/DirectorStore.ts diff --git a/src/modules/05_placement/components/probation/MainProbation.vue b/src/modules/05_placement/components/probation/MainProbation.vue index 3669b9d93..2d5e4e7af 100644 --- a/src/modules/05_placement/components/probation/MainProbation.vue +++ b/src/modules/05_placement/components/probation/MainProbation.vue @@ -473,7 +473,7 @@ function filterFn(val: string, update: any) { />
- - +
@@ -559,7 +559,7 @@ function filterFn(val: string, update: any) {
- - +
- - - + \ No newline at end of file diff --git a/src/modules/11_discipline/components/6_BasicInformation/Director/AddPage.vue b/src/modules/11_discipline/components/6_BasicInformation/Director/AddPage.vue new file mode 100644 index 000000000..1b213644c --- /dev/null +++ b/src/modules/11_discipline/components/6_BasicInformation/Director/AddPage.vue @@ -0,0 +1,34 @@ + + \ No newline at end of file diff --git a/src/modules/11_discipline/components/6_BasicInformation/Director/EditPage.vue b/src/modules/11_discipline/components/6_BasicInformation/Director/EditPage.vue new file mode 100644 index 000000000..a28ba42a2 --- /dev/null +++ b/src/modules/11_discipline/components/6_BasicInformation/Director/EditPage.vue @@ -0,0 +1,56 @@ + + \ No newline at end of file diff --git a/src/modules/11_discipline/components/6_BasicInformation/Director/Form.vue b/src/modules/11_discipline/components/6_BasicInformation/Director/Form.vue new file mode 100644 index 000000000..00f82acc0 --- /dev/null +++ b/src/modules/11_discipline/components/6_BasicInformation/Director/Form.vue @@ -0,0 +1,145 @@ + + \ No newline at end of file diff --git a/src/modules/11_discipline/components/6_BasicInformation/Director/MainPage.vue b/src/modules/11_discipline/components/6_BasicInformation/Director/MainPage.vue index ebbd2a7f8..92b837c33 100644 --- a/src/modules/11_discipline/components/6_BasicInformation/Director/MainPage.vue +++ b/src/modules/11_discipline/components/6_BasicInformation/Director/MainPage.vue @@ -1,9 +1,146 @@ - + + +
+
+
+ + เพิ่มรายชื่อกรรมการ + +
+ - \ No newline at end of file + + + + + +
+ +
+ + + + + +
+
+
+ \ No newline at end of file diff --git a/src/modules/11_discipline/interface/request/director.ts b/src/modules/11_discipline/interface/request/director.ts new file mode 100644 index 000000000..0e2915927 --- /dev/null +++ b/src/modules/11_discipline/interface/request/director.ts @@ -0,0 +1,24 @@ +interface FormData { + prefix: string; + firstname: string; + lastname: string; + position: string; + phone: string; + responsibilities: string; + email: string; +} +interface FormRef { + prefix: object | null; + firstname: object | null; + lastname: object | null; + position: object | null; + phone: object | null; + responsibilities: object | null; + email: object | null; + [key: string]: any; +} + +export type { + FormData, + FormRef +}; \ No newline at end of file diff --git a/src/modules/11_discipline/interface/response/director.ts b/src/modules/11_discipline/interface/response/director.ts new file mode 100644 index 000000000..33d3e6a37 --- /dev/null +++ b/src/modules/11_discipline/interface/response/director.ts @@ -0,0 +1,12 @@ +interface DirectorRows { + no: number; + name: string; + position: string; + responsibilities: string; + email: string; + phone: string; +} + +export type { + DirectorRows +}; \ No newline at end of file diff --git a/src/modules/11_discipline/router.ts b/src/modules/11_discipline/router.ts index d0a715198..8744c5a70 100644 --- a/src/modules/11_discipline/router.ts +++ b/src/modules/11_discipline/router.ts @@ -18,14 +18,22 @@ const directorMain = () => import( "@/modules/11_discipline/components/6_BasicInformation/Director/MainPage.vue" ); + const directorAdd = () => + import( + "@/modules/11_discipline/components/6_BasicInformation/Director/AddPage.vue" + ); + const directorEdit = () => + import( + "@/modules/11_discipline/components/6_BasicInformation/Director/EditPage.vue" + ); const channelMain = () => import( "@/modules/11_discipline/components/6_BasicInformation/Channel/MainPage.vue" ); - const channelAdd = () => +const channelAdd = () => import( "@/modules/11_discipline/components/6_BasicInformation/Channel/addChannel.vue" - ); + ); const complaintAdd = () => import("@/modules/11_discipline/components/1_Complaint/AddComplaintPage.vue"); const reportType = () => @@ -35,7 +43,8 @@ const InvestigateDisciplinaryAdd = () => import( "@/modules/11_discipline/components/3_InvestigateDisciplinary/addInvestigate.vue" ); -const orderPage = () => import("@/modules/11_discipline/components/4_Order/OrderPage.vue") +const orderPage = () => + import("@/modules/11_discipline/components/4_Order/OrderPage.vue"); export default [ { path: "/discipline/complaints", @@ -107,6 +116,7 @@ export default [ Role: "coin", }, }, + // ข้อมูลพื้นฐาน กรรมการ { path: "/discipline/director", name: "/discipline-director", @@ -118,9 +128,19 @@ export default [ }, }, { - path: "/discipline/director", - name: "/discipline-director", - component: directorMain, + path: "/discipline/director/add", + name: "discipline-director-add", + component: directorAdd, + meta: { + Auth: true, + Key: [11.6], + Role: "coin", + }, + }, + { + path: "/discipline/director/:id", + name: "discipline-director-edit", + component: directorEdit, meta: { Auth: true, Key: [11.6], diff --git a/src/modules/11_discipline/stroes/DirectorStore.ts b/src/modules/11_discipline/stroes/DirectorStore.ts new file mode 100644 index 000000000..9309c983f --- /dev/null +++ b/src/modules/11_discipline/stroes/DirectorStore.ts @@ -0,0 +1,91 @@ +import { defineStore } from "pinia"; +import { ref } from "vue"; +import type { DirectorRows } from "@/modules/11_discipline/interface/response/director"; +import type { QTableProps } from "quasar"; + +// store ระบบวินัย >> ข้อมูลพื้นฐาน >> กรรมการ +export const useDisciplineDirectorDataStore = defineStore( + "disciplineDirector", + () => { + //ค้นหา คอลัมน์ คอลัมน์ที่แสดง + const visibleColumns = ref([ + "no", + "name", + "position", + "responsibilities", + "email", + "phone", + ]); + + // หัวตาราง + const columns = ref([ + { + name: "no", + align: "left", + label: "ลำดับ", + sortable: false, + field: "no", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "name", + align: "left", + label: "ชื่อ-นามสกุล", + sortable: true, + field: "name", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "position", + align: "left", + label: "ตำแหน่ง", + sortable: true, + field: "position", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "responsibilities", + align: "left", + label: "หน้าที่", + sortable: true, + field: "responsibilities", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "email", + align: "left", + label: "อีเมล", + sortable: true, + field: "email", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + { + name: "phone", + align: "left", + label: "เบอร์โทรศัพท์", + sortable: true, + field: "phone", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + }, + ]); + + // ข้อมูลในตาราง + const rows = ref([]); + function fetchData(data: DirectorRows[]) { + rows.value = data + } + + return { + visibleColumns, + columns, + rows, + fetchData + }; + } +);