diff --git a/src/modules/07_insignia/components/3_result/fileUpload.vue b/src/modules/07_insignia/components/3_result/fileUpload.vue index 14cfb4e48..eb7307d4f 100644 --- a/src/modules/07_insignia/components/3_result/fileUpload.vue +++ b/src/modules/07_insignia/components/3_result/fileUpload.vue @@ -152,7 +152,7 @@ const pagination = ref({
- +
@@ -167,20 +167,12 @@ const pagination = ref({
-
- + +
- -
- -
-
- - -
-
diff --git a/src/modules/07_insignia/components/5_Borrow/Main.vue b/src/modules/07_insignia/components/5_Borrow/Main.vue index f0930fed2..e3ce435a5 100644 --- a/src/modules/07_insignia/components/5_Borrow/Main.vue +++ b/src/modules/07_insignia/components/5_Borrow/Main.vue @@ -537,7 +537,6 @@ const clearInsigniaFilters = (name: string) => { -
เพิ่ม diff --git a/src/modules/07_insignia/views/ResultPage.vue b/src/modules/07_insignia/views/ResultPage.vue index 79d622382..4f1f561f3 100644 --- a/src/modules/07_insignia/views/ResultPage.vue +++ b/src/modules/07_insignia/views/ResultPage.vue @@ -544,71 +544,72 @@ const clearInsigniaFilters = (name: string) => { class="q-pa-none" >
-
-
- - - อัพโหลดไฟล์บันทึกผลการได้รับพระราชทานเครื่องราชอิสริยาภรณ์ +
+
+ - -
-
- - อัพโหลดไฟล์บันทึกผลการได้รับพระราชทานเครื่องราชอิสริยาภรณ์ + + + อัพโหลดไฟล์บันทึกผลการได้รับพระราชทานเครื่องราชอิสริยาภรณ์ + +
+ + อัพโหลดไฟล์บันทึกผลการได้รับพระราชทานเครื่องราชอิสริยาภรณ์ + +
+
+
+ - + + อัพโหลดไฟล์บันทึกผลการจ่ายใบกำกับ + +
+ + อัพโหลดไฟล์บันทึกผลการจ่ายใบกำกับ + +
+
-
- - - อัพโหลดไฟล์บันทึกผลการจ่ายใบกำกับ - -
-
- - อัพโหลดไฟล์บันทึกผลการจ่ายใบกำกับ - -
-
-
+ +
{ option-value="id" :readonly="false" :borderless="false" - style="min-width: 150px" + style="width: 280px" @update:model-value="selectorInsignia" @filter="(inputValue:any, doneFn:Function) => filterSelector(inputValue, doneFn,'insigniaTypeFilter' @@ -645,122 +646,8 @@ const clearInsigniaFilters = (name: string) => { - - - - - -
- - - - -
- -
- - เพิ่ม - -
- + -
{ class="gt-xs q-ml-sm" />
+ +
+
+ + + + + + + + +
+ + เพิ่ม + +
+import { ref, computed, watchEffect } from "vue"; +import { useQuasar } from "quasar"; +import { useCounterMixin } from "@/stores/mixin"; +import type { QTableProps } from "quasar"; +import type { ResponseData } from "@/modules/05_placement/interface/response/Transfer"; + +import DialogHeader from "@/modules/05_placement/components/PersonalList/DialogHeader.vue"; +import http from "@/plugins/http"; +import config from "@/app.config"; + +const $q = useQuasar(); +const selected = ref([]); +const mixin = useCounterMixin(); +const { showLoader, success, messageError, dialogConfirm, hideLoader } = mixin; + +//ค้นหา คอลัมน์ คอลัมน์ที่แสดง +const visibleColumns2 = ref([ + "no", + "fullname", + "position", + "duty", + "email", + "telephone", +]); +const columns2 = ref([ + { + name: "no", + align: "left", + label: "ลำดับ", + sortable: false, + field: "no", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "fullname", + align: "left", + label: "ชื่อ-นามสกุล", + sortable: true, + field: "fullname", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "position", + align: "left", + label: "ตำแหน่ง", + sortable: true, + field: "position", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "duty", + align: "left", + label: "หน้าที่", + sortable: true, + field: "duty", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "email", + align: "left", + label: "อีเมล", + sortable: true, + field: "email", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, + { + name: "telephone", + align: "left", + label: "เบอร์โทรศัพท์", + sortable: true, + field: "telephone", + headerStyle: "font-size: 14px", + style: "font-size: 14px", + sort: (a: string, b: string) => + a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), + }, +]); + +const props = defineProps({ + Modal: Boolean, + clickClose: Function, + getData: Function, + rows2: Array, + filterKeyword2: String, +}); + +const checkSelected = computed(() => { + if (selected.value.length === 0) { + return true; + } +}); + +//popup ยืนยันส่งัว +const saveDirector = () => { + dialogConfirm( + $q, + () => Ordersave(), + "ยืนยันเพิ่มรายชื่อกรรมการ", + "ต้องการยืนยันเพิ่มรายชื่อกรรมการ?" + ); +}; +//ส่งไปออกคำสั่ง +const Ordersave = async () => { + // const id = selected.value.map((r) => r.id); + // const body = { + // id, + // }; + // showLoader(); + // await http + // .post(config.API.transferReport, body) + // .then((res: any) => { + // success($q, "ส่งไปออกคำสั่งสำเร็จ"); + // props.closeModal?.(); + // }) + // .catch((e) => { + // messageError($q, e); + // }) + // .finally(async () => { + // props.getData?.(); + // hideLoader(); + // }); +}; + +const emit = defineEmits(["update:filterKeyword2", "update:selected"]); +const updateInput = (value: any) => { + emit("update:filterKeyword2", value); +}; +//รีเซ็ตค่าในช่องค้นหา +const Reset = () => { + emit("update:filterKeyword2", ""); +}; +watchEffect(() => { + if (props.Modal === true) { + selected.value = []; + } +}); + + diff --git a/src/modules/11_discipline/components/3_InvestigateDisciplinary/MainPage.vue b/src/modules/11_discipline/components/3_InvestigateDisciplinary/MainPage.vue index 86b199249..dbf4d12c3 100644 --- a/src/modules/11_discipline/components/3_InvestigateDisciplinary/MainPage.vue +++ b/src/modules/11_discipline/components/3_InvestigateDisciplinary/MainPage.vue @@ -1,9 +1,259 @@ - + - \ No newline at end of file + diff --git a/src/modules/11_discipline/components/3_InvestigateDisciplinary/Table.vue b/src/modules/11_discipline/components/3_InvestigateDisciplinary/Table.vue new file mode 100644 index 000000000..ec5dfc0de --- /dev/null +++ b/src/modules/11_discipline/components/3_InvestigateDisciplinary/Table.vue @@ -0,0 +1,214 @@ + + + diff --git a/src/modules/11_discipline/components/3_InvestigateDisciplinary/addInvestigate.vue b/src/modules/11_discipline/components/3_InvestigateDisciplinary/addInvestigate.vue new file mode 100644 index 000000000..a3e7845cd --- /dev/null +++ b/src/modules/11_discipline/components/3_InvestigateDisciplinary/addInvestigate.vue @@ -0,0 +1,694 @@ + + diff --git a/src/modules/11_discipline/components/3_InvestigateDisciplinary/director.vue b/src/modules/11_discipline/components/3_InvestigateDisciplinary/director.vue new file mode 100644 index 000000000..f12a5d8fb --- /dev/null +++ b/src/modules/11_discipline/components/3_InvestigateDisciplinary/director.vue @@ -0,0 +1,166 @@ + + + diff --git a/src/modules/11_discipline/router.ts b/src/modules/11_discipline/router.ts index 080766527..bd70fb399 100644 --- a/src/modules/11_discipline/router.ts +++ b/src/modules/11_discipline/router.ts @@ -1,4 +1,3 @@ - const complaintMain = () => import("@/modules/11_discipline/components/1_Complaint/MainPage.vue") const factsMain = () => import("@/modules/11_discipline/components/2_InvestigateFacts/MainPage.vue") const investigatefactsAdd = () => import("@/modules/11_discipline/components/2_InvestigateFacts/investigatefactsAdd.vue") @@ -10,67 +9,71 @@ const channelMain = () => import("@/modules/11_discipline/components/ุ6_Inform const complaintAdd = () => import("@/modules/11_discipline/components/1_Complaint/AddComplaintPage.vue") const reportType = () => import('@/modules/11_discipline/components/5_Report/reportDetail.vue') +const InvestigateDisciplinaryAdd = () => + import( + "@/modules/11_discipline/components/3_InvestigateDisciplinary/addInvestigate.vue" + ); export default [ - { - path: "/discipline/complaints", - name: "/discipline-complaints", - component: complaintMain, - meta: { - Auth: true, - Key: [11.1], - Role: "coin", - }, + { + path: "/discipline/complaints", + name: "/discipline-complaints", + component: complaintMain, + meta: { + Auth: true, + Key: [11.1], + Role: "coin", }, - { - path: "/discipline/complaints/add", - name: "/discipline-complaints-add", - component: complaintAdd, - meta: { - Auth: true, - Key: [11.1], - Role: "coin", - }, + }, + { + path: "/discipline/complaints/add", + name: "/discipline-complaints-add", + component: complaintAdd, + meta: { + Auth: true, + Key: [11.1], + Role: "coin", }, - { - path: "/discipline/investigatefacts", - name: "/discipline-investigatefacts", - component: factsMain, - meta: { - Auth: true, - Key: [11.2], - Role: "coin", - }, + }, + { + path: "/discipline/investigatefacts", + name: "/discipline-investigatefacts", + component: factsMain, + meta: { + Auth: true, + Key: [11.2], + Role: "coin", }, - { - path: "/discipline/disciplinary", - name: "/discipline-disciplinary", - component: disciplinaryMain, - meta: { - Auth: true, - Key: [11.3], - Role: "coin", - }, + }, + { + path: "/discipline/disciplinary", + name: "/discipline-disciplinary", + component: disciplinaryMain, + meta: { + Auth: true, + Key: [11.3], + Role: "coin", }, - { - path: "/discipline/order", - name: "/discipline-order", - component: oredrMain, - meta: { - Auth: true, - Key: [11.4], - Role: "coin", - }, + }, + { + path: "/discipline/order", + name: "/discipline-order", + component: oredrMain, + meta: { + Auth: true, + Key: [11.4], + Role: "coin", }, - { - path: "/discipline/report", - name: "/discipline-report", - component: report, - meta: { - Auth: true, - Key: [11.5], - Role: "coin", - }, + }, + { + path: "/discipline/report", + name: "/discipline-report", + component: report, + meta: { + Auth: true, + Key: [11.5], + Role: "coin", }, + }, { path: "/discipline/report/:type", name: "/discipline-reportType", @@ -90,25 +93,45 @@ export default [ Key: [11.6], Role: "coin", }, + }, + { + path: "/discipline/director", + name: "/discipline-director", + component: directorMain, + meta: { + Auth: true, + Key: [11.6], + Role: "coin", }, - { - path: "/discipline/channel", - name: "/discipline-channel", - component: channelMain, - meta: { - Auth: true, - Key: [11.6], - Role: "coin", - }, + }, + { + path: "/discipline/channel", + name: "/discipline-channel", + component: channelMain, + meta: { + Auth: true, + Key: [11.6], + Role: "coin", }, - { - path: "/discipline/investigatefacts/add", - name: "/discipline-investigatefactsAdd", - component: investigatefactsAdd, - meta: { - Auth: true, - Key: [11.2], - Role: "coin", - }, + }, + { + path: "/discipline/investigatefacts/add", + name: "/discipline-investigatefactsAdd", + component: investigatefactsAdd, + meta: { + Auth: true, + Key: [11.2], + Role: "coin", }, -] \ No newline at end of file + }, + { + path: "/discipline/InvestigateDisciplinary/add", + name: "/discipline-InvestigateDisciplinaryAdd", + component: InvestigateDisciplinaryAdd, + meta: { + Auth: true, + Key: [11.3], + Role: "coin", + }, + }, +]; diff --git a/src/modules/11_discipline/stroes/InvestigateDisStore.ts b/src/modules/11_discipline/stroes/InvestigateDisStore.ts new file mode 100644 index 000000000..f9396f80c --- /dev/null +++ b/src/modules/11_discipline/stroes/InvestigateDisStore.ts @@ -0,0 +1,69 @@ +import { defineStore } from "pinia"; +import { ref } from "vue"; + +export const useInvestigateDisStore = defineStore("InvestigateDis", () => { + const rows = ref([]); + + async function fecthList(data: any) { + let datalist = data.map((e: any) => ({ + subject: e.subject, + interrogated: e.interrogated, + fault: convertFault(e.fault), + penaltyLevel: convertPenaltyLevel(e.penaltyLevel), + caseFault: e.caseFault, + dateInvestigate: e.dateInvestigate, + status: convertSatatus(e.status), + active: activeStatus(e.active), + })); + rows.value = datalist; + console.log(rows.value); + } + function convertFault(val: string) { + switch (val) { + case "0": + return "ความผิดวินัยยังไม่ระบุ"; + case "1": + return "ความผิดวินัยไม่ร้ายแรง"; + case "2": + return "ความผิดวินัยร้ายแรง"; + } + } + function convertSatatus(val: string) { + switch (val) { + case "0": + return "เสร็จสิ้นแล้ว"; + case "1": + return "ยุติเรื่อง"; + } + } + function activeStatus(val: string) { + switch (val) { + case "0": + return "ยังไม่ได้ยืนยันผล"; + case "1": + return "ยืนยันผลเเล้ว"; + } + } + function convertPenaltyLevel(val: string) { + switch (val) { + case "0": + return "ไม่ร้ายแรง"; + case "1": + return "ภาคทัณฑ์"; + case "3": + return "ตัดเงินเดือน"; + case "4": + return "ลดขั้นเงินเดือน"; + case "5": + return "ร้ายแรง"; + case "6": + return "ปลดออก"; + case "7": + return "ไล่ออก"; + } + } + return { + fecthList, + rows, + }; +});