From 016970dc9e4b08156d6f727c2418fbb94c4540a1 Mon Sep 17 00:00:00 2001 From: Thanit Konmek Date: Mon, 28 Aug 2023 11:27:08 +0700 Subject: [PATCH] =?UTF-8?q?mock=20api=20=E0=B8=A3=E0=B8=B2=E0=B8=A2?= =?UTF-8?q?=E0=B8=87=E0=B8=B2=E0=B8=99=20=E0=B9=80=E0=B8=84=E0=B8=A3?= =?UTF-8?q?=E0=B8=B7=E0=B9=88=E0=B8=AD=E0=B8=87=E0=B8=A3=E0=B8=B2=E0=B8=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/07_insignia/api.insignia.ts | 83 +++-- .../07_insignia/components/2_Manage/Tab1.vue | 337 +++++++++++++++--- .../components/2_Manage/listManage.vue | 290 ++++++++++----- .../components/report/ReportView.vue | 67 +++- .../components/report/Report_01.vue | 78 +++- .../components/report/Report_02.vue | 304 ++++++++++++++++ src/modules/07_insignia/router.ts | 14 +- src/modules/07_insignia/store.ts | 59 +-- .../coinReport/coinReportDetail.vue | 12 +- .../components/coinReport/coinReportMain.vue | 7 +- 10 files changed, 1046 insertions(+), 205 deletions(-) create mode 100644 src/modules/07_insignia/components/report/Report_02.vue diff --git a/src/api/07_insignia/api.insignia.ts b/src/api/07_insignia/api.insignia.ts index f125dfe64..75a81e324 100644 --- a/src/api/07_insignia/api.insignia.ts +++ b/src/api/07_insignia/api.insignia.ts @@ -3,27 +3,37 @@ */ import env from "../index"; const insignia = `${env.API_URI}/insignia`; -const Organization = `${env.API_URI}/Organization` +const report = `${env.API_URI}/report`; +const Organization = `${env.API_URI}/Organization`; export default { getRoundInsignia: (id: string) => `${insignia}/period/${id}`, listRoundInsignia: () => `${insignia}/period/`, editRoundInsignia: (id: string) => `${insignia}/period/${id}`, RoundInsignia: (id: string) => `${insignia}/period/${id}`, - requestInsignia: (insigniaPeriodId: string) => `${insignia}/request/${insigniaPeriodId}`, + requestInsignia: (insigniaPeriodId: string) => + `${insignia}/request/${insigniaPeriodId}`, // Type typeOc: () => `${Organization}/history/type/หน่วยงาน`, - // manage insigniaManage: (type: string) => `${insignia}/manage/${type}`, insigniaCreate: () => `${insignia}/request`, - insigniaList: (insigniaPeriodId: any, ocId: string, role: string, status: any) => `${insignia}/request/${insigniaPeriodId}/${ocId}/${role}/${status}`, - insigniaReject: (profileId: string) => `${insignia}/request/status/reject/${profileId}`, - insigniaDelete: (profileId: string) => `${insignia}/request/status/delete/${profileId}`, + insigniaList: ( + insigniaPeriodId: any, + ocId: string, + role: string, + status: any + ) => `${insignia}/request/${insigniaPeriodId}/${ocId}/${role}/${status}`, + insigniaReject: (profileId: string) => + `${insignia}/request/status/reject/${profileId}`, + insigniaDelete: (profileId: string) => + `${insignia}/request/status/delete/${profileId}`, insigniaEdit: (profileId: string) => `${insignia}/request/${profileId}`, - insigniaNosend: (insigniaPeriodId: any) => `${insignia}/request/org/no-send/${insigniaPeriodId}`, + insigniaNosend: (insigniaPeriodId: any) => + `${insignia}/request/org/no-send/${insigniaPeriodId}`, insigniaAgency: () => `${insignia}/request/agency`, - insigniaDashboard: (insigniaPeriodId: string) => `${insignia}/request/dashboard/${insigniaPeriodId}`, + insigniaDashboard: (insigniaPeriodId: string) => + `${insignia}/request/dashboard/${insigniaPeriodId}`, // record noteround: () => `${insignia}/request/note`, requestDocNote: (id: string) => `${insignia}/request/note/doc/${id}`, @@ -31,31 +41,58 @@ export default { noteAdd: (insigniaId: string) => `${insignia}/request/note/${insigniaId}`, noteByid: (id: string) => `${insignia}/request/note/${id}`, + insigniaSendToDirector: (roundId: string, ocId: string) => + `${insignia}/request/officer/approve/${roundId}/${ocId}`, + insigniaDirectorBackToEdit: (roundId: string, ocId: string) => + `${insignia}/request/director/reject/${roundId}/${ocId}`, + insigniaDirectorApproved: (roundId: string, ocId: string) => + `${insignia}/request/director/approve/${roundId}/${ocId}`, + insigniaRequestSendNote: (insigniaPeriodId: string) => + `${insignia}/request/send/note/${insigniaPeriodId}`, - insigniaSendToDirector: (roundId: string, ocId: string) => `${insignia}/request/officer/approve/${roundId}/${ocId}`, - insigniaDirectorBackToEdit: (roundId: string, ocId: string) => `${insignia}/request/director/reject/${roundId}/${ocId}`, - insigniaDirectorApproved: (roundId: string, ocId: string) => `${insignia}/request/director/approve/${roundId}/${ocId}`, - insigniaRequestSendNote: (insigniaPeriodId: string) => `${insignia}/request/send/note/${insigniaPeriodId}`, - // insigniaRequestSendNote: (insigniaPeriodId: string) => `${insignia}/insignia/request/send/note/${insigniaPeriodId}`, // uploadfile - uploadfileInsignia: (type: string, noteId: string) => `${insignia}/request/import/${type}/${noteId}`, - previewfileInsignia: (type: string,noteId: string) => `${insignia}/request/preview/${type}/${noteId}`, + uploadfileInsignia: (type: string, noteId: string) => + `${insignia}/request/import/${type}/${noteId}`, + previewfileInsignia: (type: string, noteId: string) => + `${insignia}/request/preview/${type}/${noteId}`, // uploadfileinvoice: (noteId: string) => `${insignia}/request/import/invoice/${noteId}`, // จัดสรรเครื่องราช - insigniaManageType: (insigniaTypeId: string, year: number) => `${insignia}/manage/type/${year}/${insigniaTypeId}`, + insigniaManageType: (insigniaTypeId: string, year: number) => + `${insignia}/manage/type/${year}/${insigniaTypeId}`, insigniaManageAdd: () => `${insignia}/manage`, - insigniaManageById: (insigniaManageId: string) => `${insignia}/manage/${insigniaManageId}`, + insigniaManageById: (insigniaManageId: string) => + `${insignia}/manage/${insigniaManageId}`, - insigniaManageOrg: (insigniaManageId: string) => `${insignia}/manage/org/${insigniaManageId}`, + insigniaManageOrg: (insigniaManageId: string) => + `${insignia}/manage/org/${insigniaManageId}`, insigniaManageOrgAdd: () => `${insignia}/manage/org`, - insigniaManageOrgDashboard: (insigniaManageId: string) => `${insignia}/manage/org/dashboard/${insigniaManageId}`, + insigniaManageOrgDashboard: (insigniaManageId: string) => + `${insignia}/manage/org/dashboard/${insigniaManageId}`, // ยืม-คืนเครื่องราชฯ insigniaManageBorrow: () => `${insignia}/manage/borrow`, - insigniaManageBorrowReturn: (insigniaManageProfileId: string) => `${insignia}/manage/return/${insigniaManageProfileId}`, - insigniaManageBorrowList: (year: number, insigniaTypeId: string) => `${insignia}/manage/borrow/${year}/${insigniaTypeId}`, - insigniaManageBorrowById: (insigniaManageProfileId: string) => `${insignia}/manage/borrow/${insigniaManageProfileId}`, -}; \ No newline at end of file + insigniaManageBorrowReturn: (insigniaManageProfileId: string) => + `${insignia}/manage/return/${insigniaManageProfileId}`, + insigniaManageBorrowList: (year: number, insigniaTypeId: string) => + `${insignia}/manage/borrow/${year}/${insigniaTypeId}`, + insigniaManageBorrowById: (insigniaManageProfileId: string) => + `${insignia}/manage/borrow/${insigniaManageProfileId}`, + + // InsigniaReport API รายงานระบบเครื่องราชอิสริยาภรณ์ + // ****** + // type = 39 : 39-แบบ ขร1 บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ ข้าราชการ ชั้นสายสะพาย + // type = 40 : 40-แบบ ขร2 บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ ข้าราชการ ชั้นต่ำกว่าสายสะพาย + // type = 41 : 41-แบบ ขร3 บัญชีรายชื่อข้าราชการผู้ขอพระราชทานเครื่องราชฯ + // type = 42 : 42-แบบ ขร4 บัญชีแสดงคุณสมบัติของข้าราชการซึ่งเสนอขอเครื่องราชฯ + // type = 43 : 43-บัญชีระดับผลการประเมินผลการปฏิบัติราชการในรอบ 5 ปี + // type = 44 : 44-บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ + // type = 45 : 45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา + // type = 46 : 46-ประวัติสำหรับการเสนอขอพระราชทานเหรียญจักรพรรดิมาลา + // ****** + // fileType = pdf, docx หรือ xlsx + reportInsignia: (type: string, fileType: string, fileId: string) => + `${report}/insignia/${type}/${fileType}/${fileId}`, +}; diff --git a/src/modules/07_insignia/components/2_Manage/Tab1.vue b/src/modules/07_insignia/components/2_Manage/Tab1.vue index f8e181788..1d0a8fc92 100644 --- a/src/modules/07_insignia/components/2_Manage/Tab1.vue +++ b/src/modules/07_insignia/components/2_Manage/Tab1.vue @@ -30,6 +30,8 @@ const modalAdd = ref(false); const modalEdit = ref(false); const rowid = ref(""); const organization = ref(""); +const fileId = ref(""); + const organizationOptions = ref([{ id: "1", name: "ทั้งหมด" }]); const visibleColumns = ref([ "no", @@ -196,7 +198,7 @@ const props = defineProps({ }, requestStatus: { type: String, - } + }, }); onMounted(async () => { @@ -344,6 +346,36 @@ const clickmodalEdit = (props: any) => { // fecthInsigniaType(); }; +const downloadFile = (response: any, filename: string) => { + const link = document.createElement("a"); + var fileName = filename; + link.href = window.URL.createObjectURL(new Blob([response.data])); + link.setAttribute("download", fileName); + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); +}; + +const downloadReport = async (type: string = "pdf") => { + showLoader(); + await http + .get(config.API.reportInsignia("45", type, fileId.value), { + responseType: "blob", + }) + .then(async (res) => { + downloadFile( + res, + `บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา.${type}` + ); + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + hideLoader(); + }); +}; + const clickSave = () => { dialogConfirm( $q, @@ -525,40 +557,120 @@ const paginationLabel2 = (start: number, end: number, total: number) => {
- - + +
- + ดาวน์โหลด - + เพิ่ม
- + - +
- +
@@ -645,21 +811,44 @@ const paginationLabel2 = (start: number, end: number, total: number) => { เพิ่มรายชื่อ - +
- + - +
@@ -703,18 +905,39 @@ const paginationLabel2 = (start: number, end: number, total: number) => { - แก้ไขเครื่องราชฯ ที่ยื่นขอ + แก้ไขเครื่องราชฯ ที่ยื่นขอ - +
- +
- + - + diff --git a/src/modules/07_insignia/components/report/Report_01.vue b/src/modules/07_insignia/components/report/Report_01.vue index 77a935cca..a5d1f2130 100644 --- a/src/modules/07_insignia/components/report/Report_01.vue +++ b/src/modules/07_insignia/components/report/Report_01.vue @@ -1,6 +1,22 @@