fixing registry

This commit is contained in:
Warunee Tamkoo 2025-02-20 17:31:15 +07:00
parent 2cd133dce9
commit c03bcb3928
4 changed files with 95 additions and 86 deletions

View file

@ -215,17 +215,17 @@ function redirectToPagePetition() {
}
}
function onGovernment() {
modalReport.value = true;
}
// function onGovernment() {
// modalReport.value = true;
// }
function closeDialog() {
modalReport.value = false;
rangeAge.value = {
min: 18,
max: 60,
};
}
// function closeDialog() {
// modalReport.value = false;
// rangeAge.value = {
// min: 18,
// max: 60,
// };
// }
async function getReport() {
loadingBtn.value = true;
@ -250,46 +250,46 @@ async function getReport() {
});
}
/**
* function เรยกไฟล XLSX
* @param data อมลรายงานสถการล
*/
async function genReportXLSX(data: any) {
await axios
.post(`${config.API.reportTemplate}/xlsx`, data, {
headers: {
accept:
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"content-Type": "application/json",
},
responseType: "blob",
})
.then(async (res) => {
const blob = new Blob([res.data]);
await downloadReport(blob, "xlsx");
})
.catch(async (e) => {
messageError($q, JSON.parse(await e.response.data.text()));
});
}
// /**
// * function XLSX
// * @param data
// */
// async function genReportXLSX(data: any) {
// await axios
// .post(`${config.API.reportTemplate}/xlsx`, data, {
// headers: {
// accept:
// "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
// "content-Type": "application/json",
// },
// responseType: "blob",
// })
// .then(async (res) => {
// const blob = new Blob([res.data]);
// await downloadReport(blob, "xlsx");
// })
// .catch(async (e) => {
// messageError($q, JSON.parse(await e.response.data.text()));
// });
// }
/**
*
* @param data อมลรายงานสถการล
* @param type นามสกลไฟ
*/
async function downloadReport(data: any, type: string) {
const link = document.createElement("a");
var fileName =
empType.value == "officer"
? "รายงานสถิติข้อมูลข้าราชการ กทม. สามัญ"
: "รายงานสถิติข้อมูลลูกจ้างประจำ กทม.";
link.href = window.URL.createObjectURL(new Blob([data]));
link.setAttribute("download", `${fileName}.${type}`);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
// /**
// *
// * @param data
// * @param type
// */
// async function downloadReport(data: any, type: string) {
// const link = document.createElement("a");
// var fileName =
// empType.value == "officer"
// ? " . "
// : " .";
// link.href = window.URL.createObjectURL(new Blob([data]));
// link.setAttribute("download", `${fileName}.${type}`);
// document.body.appendChild(link);
// link.click();
// document.body.removeChild(link);
// }
/**
* การเปลยนแปลงของ formFilter.value.pageSize
@ -334,7 +334,7 @@ watch(
พบขอมลทงหมด {{ total.toLocaleString() }} รายการ
</div>
<!-- empType === "officer" ? -->
<div>
<!-- <div>
<q-btn
flat
dense
@ -348,7 +348,7 @@ watch(
}}</q-tooltip
></q-btn
>
</div>
</div> -->
<q-select
v-if="store.mode === 'table'"
v-model="visibleColumns"
@ -626,14 +626,14 @@ watch(
<q-dialog v-model="modalReport" persistent>
<q-card class="col-12" style="width: 40%">
<DialogHeader
<!-- <DialogHeader
:tittle="
empType == 'officer'
? 'รายงานสถิติข้อมูลข้าราชการ กทม. สามัญ'
: 'รายงานสถิติข้อมูลลูกจ้างประจำ กทม.'
"
:close="closeDialog"
/>
/> -->
<q-separator />
<q-card-section class="q-pa-lg">
<div class="column q-pa-sm q-gutter-y-sm">

View file

@ -90,27 +90,31 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => {
const newVal = val?.toLocaleUpperCase();
switch (newVal) {
case "RETIRE":
return "เกษียณ ";
return "เกษียณ";
case "RETIRE_RESIGN":
return "ลาออก ";
return "ลาออกจากราชการ";
case "RETIRE_DECEASED":
return "ถึงแก่กรรม ";
case "RETIRE_OUT":
return "ให้ออกจากราชการ ";
return "ให้ออกจากราชการ";
case "DISCIPLINE_RESULT_REMOVE":
return "ปลดออกจากราชการ ";
return "ปลดออกจากราชการ";
case "DISCIPLINE_RESULT_DISMISS":
return "ไล่ออกจากราชการ ";
return "ไล่ออกจากราชการ";
case "DISCIPLINE_SUSPEND":
return "ถูกพักจากราชการ ";
return "ถูกพักจากราชการ";
case "PROBATION_REPORT":
return "ไม่ผ่านทดลองงาน ";
return "ผลการทดลองฯ ต่ำกว่ามาตรฐานที่กำหนด";
case "PLACEMENT_TRANSFER":
return "โอนออก ";
return "โอนออก";
case "RETIRE_RESIGN_EMP":
return "ลาออก(ลูกจ้าง)";
return "ลาออกจากราชการ";
case "RETIRE_OUT_EMP":
return "ให้ออกจากราชการ(ลูกจ้าง)";
return "ให้ออกจากราชการ";
case "DISCIPLINE_SUSPEND":
return "พักจากราชการ";
case "DISCIPLINE_TEMP_SUSPEND":
return "ให้ออกจากราชการไว้ก่อน";
default:
return "";
}
@ -118,19 +122,21 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => {
const retireTypeOps = ref<DataOption[]>([
{ id: "RETIRE", name: "เกษียณ" },
{ id: "RETIRE_RESIGN", name: "ลาออก" },
{ id: "RETIRE_DECEASED", name: "ถึงแก่กรรม" },
{ id: "RETIRE_RESIGN", name: "ลาออกจากราชการ" },
{ id: "RETIRE_OUT", name: "ให้ออกจากราชการ" },
{ id: "DISCIPLINE_RESULT_REMOVE", name: "ปลดออกจากราชการ" },
{ id: "DISCIPLINE_RESULT_DISMISS", name: "ไล่ออกจากราชการ" },
{ id: "DISCIPLINE_SUSPEND", name: "ถูกพักจากราชการ" },
{ id: "PROBATION_REPORT", name: "ไม่ผ่านทดลองงาน" },
{ id: "PROBATION_REPORT", name: "ผลการทดลองฯ ต่ำกว่ามาตรฐานที่กำหนด" },
{ id: "PLACEMENT_TRANSFER", name: "โอนออก" },
{ id: "DISCIPLINE_TEMP_SUSPEND", name: "ให้ออกจากราชการไว้ก่อน" },
]);
const retireTypeEmpOps = ref<DataOption[]>([
{ id: "RETIRE", name: "เกษียณ" },
{ id: "RETIRE_RESIGN_EMP", name: "ลาออก" },
{ id: "RETIRE_DECEASED", name: "ถึงแก่กรรม" },
{ id: "RETIRE_RESIGN_EMP", name: "ลาออกจากราชการ" },
{ id: "RETIRE_OUT_EMP", name: "ให้ออกจากราชการ" },
]);

View file

@ -109,11 +109,9 @@ const baseItemsMenu = ref<DataOptionSys[]>([
const itemsMenu = computed(() => {
if (
leaveReason.value ===
"(พ้นจากราชการด้วยสาเหตุ : ได้รับโทษทางวินัย ให้ออกจากราชการไว้ก่อน)" ||
leaveReason.value === "(พ้นจากราชการด้วยสาเหตุ : ลาออกจากราชการ)" ||
leaveReason.value ===
"(พ้นจากราชการด้วยสาเหตุ : ได้รับโทษทางวินัย พักจากราชการ)"
leaveType.value === "DISCIPLINE_TEMP_SUSPEND" ||
leaveType.value === "RETIRE_RESIGN" ||
leaveType.value === "DISCIPLINE_SUSPEND"
) {
return (
baseItemsMenu.value?.filter(
@ -357,6 +355,7 @@ const reasonOptions = ref<DataOption[]>([
},
]);
const leaveType = ref<string>("");
/** ฟังก์ชันดึงข้อมูลส่วนต้ว*/
async function fetchDataPersonal() {
showLoader();
@ -366,6 +365,7 @@ async function fetchDataPersonal() {
formDetail.value = await res.data.result;
storeRegistry.citizenId = res.data.result.citizenId;
storeRegistry.isLeave = res.data.result.isLeave;
leaveType.value = res.data.result.leaveType;
if (res.data.result.leaveReason) {
//
@ -792,11 +792,9 @@ onMounted(async () => {
'SYS_DISMISS',
'SYS_PLACEMENT_OTHER',
])) ||
leaveReason ===
'(พ้นจากราชการด้วยสาเหตุ : ได้รับโทษทางวินัย ให้ออกจากราชการไว้ก่อน)' ||
leaveReason === '(พ้นจากราชการด้วยสาเหตุ : ลาออกจากราชการ)' ||
leaveReason ===
'(พ้นจากราชการด้วยสาเหตุ : ได้รับโทษทางวินัย พักจากราชการ)'
leaveType === 'DISCIPLINE_TEMP_SUSPEND' ||
leaveType === 'RETIRE_RESIGN' ||
leaveType === 'DISCIPLINE_SUSPEND'
"
size="md"
rounded

View file

@ -401,7 +401,7 @@ onMounted(async () => {
<q-card class="q-mt-md">
<q-card-section class="card-img q-pb-lg">
<div class="text-h5 text-center q-py-md text-weight-medium">
นหาขอมลทะเบยนประว {{ store.formFilter.dateAppoint }}
นหาขอมลทะเบยนประว
{{
empType === "officer" ? "ข้าราชการ กทม. สามัญ" : "ลูกจ้างประจำ กทม."
}}
@ -536,7 +536,7 @@ onMounted(async () => {
</q-list>
</q-btn-dropdown>
<q-separator inset vertical class="lineFil" />
<!-- <q-separator inset vertical class="lineFil" /> -->
<q-btn-dropdown
flat
dense
@ -693,19 +693,15 @@ onMounted(async () => {
label="ทดลองปฏิบัติหน้าที่ราชการ"
@update:model-value="getSearch"
/>
<q-separator inset vertical class="lineFil" />
<q-toggle
v-model="store.formFilter.isShowRetire"
color="primary"
label="แสดงข้อมูลผู้พ้นจากราชการ"
@update:model-value="getSearch"
/>
<q-toggle
v-if="store.formFilter.nodeId"
v-model="store.formFilter.isAll"
color="primary"
label="แสดงตำแหน่งทั้งหมด"
@update:model-value="getSearch"
/>
<q-btn-dropdown
v-if="store.formFilter.isShowRetire"
@ -720,7 +716,7 @@ onMounted(async () => {
{{
store.labelOption.retireType !== "ทั้งหมด"
? store.labelOption.retireType
: `ประเภทการพ้นจากราชการ${store.labelOption.retireType}`
: `ประเภท${store.labelOption.retireType}`
}}
<q-btn
v-if="store.labelOption.retireType !== 'ทั้งหมด'"
@ -748,6 +744,15 @@ onMounted(async () => {
</q-btn-dropdown>
<q-separator inset vertical class="lineFil" />
<q-toggle
v-if="store.formFilter.nodeId"
v-model="store.formFilter.isAll"
color="primary"
label="แสดงตำแหน่งทั้งหมด"
@update:model-value="getSearch"
/>
<q-btn-dropdown
rounded
flat