diff --git a/src/api/07_insignia/api.insignia.ts b/src/api/07_insignia/api.insignia.ts index f125dfe64..0ca44d447 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_REPORT2_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/05_placement/components/PersonalList/TableDetail.vue b/src/modules/05_placement/components/PersonalList/TableDetail.vue index c4942705d..373a25987 100644 --- a/src/modules/05_placement/components/PersonalList/TableDetail.vue +++ b/src/modules/05_placement/components/PersonalList/TableDetail.vue @@ -93,7 +93,6 @@ watch(props, () => { } }); - const validateData = () => { const selectedIds = personalForm.value.isProperty; @@ -280,7 +279,7 @@ const putpersonalForm = async () => {
ภาค ค
รวมทั้งหมด
-
+
คะแนนที่ได้
{{ personalForm.pointTotalA }} @@ -295,8 +294,12 @@ const putpersonalForm = async () => { {{ personalForm.pointTotal }}
-
-
ผลการสอบ
+
+
+ ผลการสอบ +
{{ personalForm.pointA }}
@@ -335,18 +338,18 @@ const putpersonalForm = async () => {
- - - -
+
- - - -
เลือกรูปภาพ
- - - ปิดหน้านี้ - -
- - -
-
-
- - อัปโหลดรูปภาพ -
-
-
-
- -
- {{ date2Thai(n.createdDate) }} - - -
-
-
-
-
-
- - - - เลือกรูปภาพ - - -
-
diff --git a/src/modules/07_insignia/components/4_Allocate/DialogForm.vue b/src/modules/07_insignia/components/4_Allocate/DialogForm.vue index bae0b4ea6..f5a54922e 100644 --- a/src/modules/07_insignia/components/4_Allocate/DialogForm.vue +++ b/src/modules/07_insignia/components/4_Allocate/DialogForm.vue @@ -7,9 +7,7 @@ import { useRouter } from "vue-router"; const $q = useQuasar(); const myForm = ref(); const mixin = useCounterMixin(); -const { - dialogConfirm, -} = mixin; +const { dialogConfirm } = mixin; const router = useRouter(); const routeName = router.currentRoute.value.name; const amount = ref(); @@ -31,18 +29,17 @@ const props = defineProps({ }, insigniaList: { type: Array, - default: [] + default: [], }, }); watch(props, () => { - if (props.modal) { - grandCross.value = "" - Org.value = "" - amount.value = null + if (props.modal === false) { + grandCross.value = ""; + Org.value = ""; + amount.value = null; } - console.log("insigniaList===>", props.insigniaList) -}) +}); const clickSave = () => { dialogConfirm($q, () => props.save(grandCross.value, amount.value)); @@ -54,22 +51,53 @@ const clickSave = () => { จัดสรรเครื่องราชฯ - +
-
+
- +
- +
diff --git a/src/modules/07_insignia/components/4_Allocate/Main.vue b/src/modules/07_insignia/components/4_Allocate/Main.vue index 027a0f341..470a4cba8 100644 --- a/src/modules/07_insignia/components/4_Allocate/Main.vue +++ b/src/modules/07_insignia/components/4_Allocate/Main.vue @@ -4,26 +4,22 @@ import { ref, onMounted, watch, useAttrs } from "vue"; import { useCounterMixin } from "@/stores/mixin"; import http from "@/plugins/http"; import config from "@/app.config"; -import { useResultDataStore } from "@/modules/07_insignia/storeAllocate"; +import { useAllocateDataStore } from "@/modules/07_insignia/storeAllocate"; import type { FormProprsalsRound } from "@/modules/07_insignia/interface/request/Main"; import router from "@/router"; import DialogForm from "@/modules/07_insignia/components/4_Allocate/DialogForm.vue"; +import DialogEdit from "@/modules/07_insignia/components/4_Allocate/DialogEdit.vue"; import type { OptionDataYear } from "@/modules/07_insignia/interface/index/Main"; import type { QTableProps, QInput } from "quasar"; import { useQuasar } from "quasar"; -const DataStore = useResultDataStore(); +const DataStore = useAllocateDataStore(); const mixin = useCounterMixin(); -const { - showLoader, - hideLoader, - messageError, - -} = mixin; +const { showLoader, hideLoader, messageError, dialogRemove, success } = mixin; const redirectToPage = (id: string, name: string) => { - DataStore.insigniaName = name + DataStore.insigniaName = name; router.push(`/insignia/allocate/org/${id}`); }; const paging = ref(true); @@ -63,7 +59,7 @@ const fecthRound = async () => { selectRoundOption.value = data.map((e: any) => ({ id: e.id, name: "รอบการเสนอขอพระราชทานเครื่องราชปี" + " " + (e.year + 543), - year: e.year + year: e.year, })); selectRound.value = data[0].id; roundYear.value = data[0].year; @@ -82,10 +78,13 @@ const fecthInsignia = async () => { DataStore.fetchDatainsignia(data); }) .catch((err) => { - messageError($q, err) - }).finally(async () => { - insigniaOp.value = await DataStore.insigniaOp.filter((x: any) => x.type == tab.value) + messageError($q, err); }) + .finally(async () => { + insigniaOp.value = await DataStore.insigniaOp.filter( + (x: any) => x.type == tab.value || x.type === "" + ); + }); }; const fecthInsigniaType = async () => { @@ -96,7 +95,7 @@ const fecthInsigniaType = async () => { DataStore.fetchDatainsigniaType(data); tab.value = DataStore.insigniaType[0].name; - fecthlistInsignia() + // fecthlistInsignia(); fecthInsignia(); }) .catch((err) => { @@ -159,19 +158,18 @@ const columns = ref([ style: "font-size: 14px", }, ]); -const rows = ref([]); - watch(tab, () => { - insigniaOp.value = DataStore.insigniaOp.filter((x: any) => x.type == tab.value) + console.log(DataStore.insigniaOp); + insigniaOp.value = DataStore.insigniaOp.filter( + (x: any) => x.type == tab.value || x.type === "" + ); + DataStore.insignia = ""; fecthlistInsignia(); }); -const selectorInsignia = () => { - fecthlistInsignia(); -}; const selectorRound = (round: string) => { selectRound.value = round; - const yearFilter = selectRoundOption.value.find((x: any) => x.id == round) + const yearFilter = selectRoundOption.value.find((x: any) => x.id == round); roundYear.value = yearFilter?.year; }; @@ -181,17 +179,7 @@ const fecthlistInsignia = async () => { .get(config.API.insigniaManageType(tab.value, Number(roundYear.value))) .then((res) => { let data = res.data.result; - rows.value = []; - // console.log("dsata===>", data); - rows.value = data.map((e: any) => ({ - id: e.id, - insignia: e.insignia, - insigniaId: e.insigniaId, - total: e.total, - allocate: e.allocate, - remain: e.remain, - // status: DataStore.status(e.status), - })); + DataStore.listinsignia(data); }) .catch((err) => { console.log(err); @@ -202,12 +190,12 @@ const fecthlistInsignia = async () => { }); }; - const filterRef = ref(); const filter = ref(""); const close = () => { modal.value = false; + modalEdit.value = false; }; const addData = () => { @@ -215,31 +203,78 @@ const addData = () => { action.value = "addData"; }; -const editData = (data: any) => { - personId.value = data.id; - profileType.value = data.profileType; - action.value = "editData"; - modal.value = true; +const modalEdit = ref(false); +const rowData = ref([]); +const actionType = ref(""); +const clickEditrow = (data: any) => { + rowData.value = data; + modalEdit.value = true; + actionType.value = "insignia"; }; const save = async (insigniaId: string, total: string) => { - showLoader() + showLoader(); await http .post(config.API.insigniaManageAdd(), { insignia: insigniaId, year: `${roundYear.value}`, total: total, }) - .then((res) => { - fecthlistInsignia(); + .then(async () => { + success($q, "บันทึกข้อมูลสำเร็จ"); + await fecthlistInsignia(); }) .catch((err) => { - messageError($q, err) - }).finally(() => { + messageError($q, err); + }) + .finally(() => { hideLoader(); close(); }); }; +const saveEdit = async ( + id: string, + insigniaId: string, + total: Number, + year: Number +) => { + showLoader(); + let body = { + insignia: insigniaId, + year: year, + total: Number(total), + }; + await http + .put(config.API.insigniaManageById(id), body) + .then(async () => { + success($q, "แก้ไขข้อมูลสำเร็จ"); + await fecthlistInsignia(); + }) + .catch((err) => { + messageError($q, err); + }) + .finally(() => { + hideLoader(); + close(); + }); +}; +const clickDelete = async (insigniaId: string) => { + dialogRemove($q, async () => { + showLoader(); + await http + .delete(config.API.insigniaManageById(insigniaId)) + .then(async () => { + success($q, "ลบข้อมูลสำเร็จ"); + await fecthlistInsignia(); + }) + .catch((err) => { + messageError($q, err); + }) + .finally(() => { + hideLoader(); + }); + }); +}; const resetFilter = () => { // reset ค่าที่ค้นหาเมื่อกดปุ่ม X ในกล่องค้นหา @@ -255,66 +290,152 @@ const resetFilter = () => {
รอบ
- +
- +
- -
-
-
+ + +
- +
- + เพิ่ม
- -
- + - +
- +
- -
-
- -
- - เพิ่ม - -
-
- - - - - - - บันทึกผลการได้รับพระราชทานเครื่องราชอิสริยาภรณ์ - - - - บันทึกผลการจ่ายใบกำกับ - - - - -
- - - -
- - - - - - -
-
- - - - -
- -
-
- -
- - เพิ่ม - -
-
- - - - - - - บันทึกผลการได้รับพระราชทานเครื่องราชอิสริยาภรณ์ - - - - บันทึกผลการจ่ายใบกำกับ - - - - -
- - -
- - - - - - -
-
- - - - -
-
- -
- - + + + + + diff --git a/src/modules/07_insignia/components/report/Report_01.vue b/src/modules/07_insignia/components/report/Report_01.vue index 77a935cca..ecfb4563e 100644 --- a/src/modules/07_insignia/components/report/Report_01.vue +++ b/src/modules/07_insignia/components/report/Report_01.vue @@ -1,36 +1,55 @@