diff --git a/src/api/appeal/api.appeal.ts b/src/api/appeal/api.appeal.ts index 8da5fff..c0c19b9 100644 --- a/src/api/appeal/api.appeal.ts +++ b/src/api/appeal/api.appeal.ts @@ -8,5 +8,7 @@ export default { appealMainList:(status: string, type: string, year: number, page: number, pageSize: number, keyword: string)=>`${appeal}/user?status=${status}&type=${type}&year=${year}&page=${page}&pageSize=${pageSize}&keyword=${keyword}`, appealAdd:()=>`${appeal}`, - appealByID:(id:string)=>`${appeal}/${id}` + appealByID:(id:string)=>`${appeal}/${id}`, + + appealByPrintReport:(id:string)=>`${appeal}/report/${id}` } diff --git a/src/modules/07_appealComplain/store.ts b/src/modules/07_appealComplain/store.ts index ca90ea4..acf9130 100644 --- a/src/modules/07_appealComplain/store.ts +++ b/src/modules/07_appealComplain/store.ts @@ -38,7 +38,7 @@ export const useAppealComplainStore = defineStore("appealComplainStore", () => { type: typeConvert(e.type), title: e.title, description: e.description, - year: e.year, + year: e.year + 543, fullname: e.fullname, citizenId: e.citizenId, caseType: e.caseType, diff --git a/src/modules/07_appealComplain/views/Add.vue b/src/modules/07_appealComplain/views/Add.vue index 3ce3b26..14269c1 100644 --- a/src/modules/07_appealComplain/views/Add.vue +++ b/src/modules/07_appealComplain/views/Add.vue @@ -29,6 +29,8 @@ function getProFile() { formProfile.profileId = data.id; formProfile.fullname = `${data.prefix}${data.firstName} ${data.lastName}`; formProfile.citizenId = data.citizenId; + formProfile.oc = data.oc; + formProfile.position = data.position; }) .catch((e) => { messageError($q, e); @@ -45,16 +47,18 @@ function onSubmit(data: any) { formData.append("title", data.title); formData.append("description", data.description); formData.append("type", data.type); - formData.append("year", data.year); - formData.append("caseType", data.caseType); - formData.append("caseNumber", data.caseNumber); + formData.append("year", ''); + formData.append("caseType", ''); + formData.append("caseNumber", ''); formData.append("file", data.files); + formData.append("oc", data.oc); + formData.append("position", data.position); showLoader(); http .post(config.API.appealAdd(), formData) .then((res) => { /** รอรับ id จาก response */ - // router.push(`/appeal-complain/${res.data.result}`); + router.push(`/appeal-complain/${res.data.result}`); success($q, "บันทึกข้อมูลสำเร็จ"); }) .catch((e) => { diff --git a/src/modules/07_appealComplain/views/Edit.vue b/src/modules/07_appealComplain/views/Edit.vue index edbc59b..8c825be 100644 --- a/src/modules/07_appealComplain/views/Edit.vue +++ b/src/modules/07_appealComplain/views/Edit.vue @@ -3,6 +3,7 @@ import { ref, onMounted, reactive } from "vue"; import { useQuasar } from "quasar"; import { useRouter, useRoute } from "vue-router"; import { useCounterMixin } from "@/stores/mixin"; +import genReport from "@/plugins/genreport"; import http from "@/plugins/http"; import config from "@/app.config"; import type { QForm } from "quasar"; @@ -54,7 +55,6 @@ function getData() { http .get(config.API.appealByID(id.value)) .then((res) => { - console.log(res); const dataList = res.data.result; data.id = dataList.id; data.title = dataList.title; @@ -80,6 +80,23 @@ function getData() { }); } +async function getReport(fileName: string) { + showLoader(); + await http + .get(config.API.appealByPrintReport(id.value)) + .then(async (res) => { + console.log(res.data.result.data); + const data = res.data.result + await genReport(data, fileName); + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + hideLoader(); + }); +} + onMounted(() => { getData(); }); @@ -101,7 +118,7 @@ onMounted(() => { /> แก้ไขอุทธรณ์/ร้องทุกข์ -
+ diff --git a/src/modules/07_appealComplain/views/Form.vue b/src/modules/07_appealComplain/views/Form.vue index c7f40fc..f10069d 100644 --- a/src/modules/07_appealComplain/views/Form.vue +++ b/src/modules/07_appealComplain/views/Form.vue @@ -9,12 +9,17 @@ import type { HistoryStatusType, FileObType, } from "@/modules/07_appealComplain/interface/response/mainType"; + +import http from "@/plugins/http"; +import config from "@/app.config"; + const $q = useQuasar(); const isReadOnly = ref(false); const printForm = ref(""); const mixin = useCounterMixin(); -const { dialogConfirm, modalWarning } = mixin; +const { dialogConfirm, modalWarning, showLoader, hideLoader, messageError } = + mixin; const dataStore = useAppealComplainStore(); const historyStatusOb = reactive({ @@ -38,6 +43,8 @@ const formData = reactive({ fullname: "", profileId: "", citizenId: "", + oc: "", + position: "", disciplineComplaint_Appeal_Docs: [fileOb], historyStatus: [historyStatusOb], }); @@ -55,6 +62,10 @@ const props = defineProps({ type: Function, default: () => "", }, + getReport: { + type: Function, + default: () => "", + }, getData: { type: Function, default: () => "", @@ -105,6 +116,8 @@ watch(props.formProfile, () => { formData.fullname = props.formProfile.fullname; formData.profileId = props.formProfile.profileId; formData.citizenId = props.formProfile.citizenId; + formData.oc = props.formProfile.oc; + formData.position = props.formProfile.position; } }); @@ -134,9 +147,6 @@ watch(props.data, () => { // }, // ]); }); -function filePrint() { - console.log("print"); -} function inputEdit(val: boolean) { return { @@ -148,6 +158,11 @@ function inputEdit(val: boolean) { function downLoadFile(path: string) { window.open(path, "_blank"); } + +function filePrintDownload(fileName: string) { + props.getReport(fileName); +} + function onSubmit(data: any) { dialogConfirm( $q, @@ -172,21 +187,22 @@ function onSubmit(data: any) { v-model="printForm" color="blue" label="พิมพ์แบบฟอร์มคำร้อง" - @click="filePrint" + @click="filePrintDownload('แบบฟอร์มคำร้อง')" /> -
+
คำอุทธรณ์/ร้องทุกข์นี้จะยังไม่สมบูรณ์ - จนกว่าผู้อุทธรณ์/ร้องทุกข์ จะ “Print แบบฟอร์มคำร้อง” จากระบบ + จนกว่าผู้อุทธรณ์/ร้องทุกข์ จะ “พิมพ์ แบบฟอร์มคำร้อง” จากระบบ พร้อม เอกสารหลักฐานทั้งหมดเป็น Hard Copy
แล้วส่งไปรษณีย์ให้ กพค. หรือ นำเอกสารทั้งหมดไปส่งด้วยตนเองที่ชั้น 14 อาคารศรีจุลทรัพย์ @@ -249,7 +265,41 @@ function onSubmit(data: any) { />
-
+ + + + + +