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() { // function onGovernment() {
modalReport.value = true; // modalReport.value = true;
} // }
function closeDialog() { // function closeDialog() {
modalReport.value = false; // modalReport.value = false;
rangeAge.value = { // rangeAge.value = {
min: 18, // min: 18,
max: 60, // max: 60,
}; // };
} // }
async function getReport() { async function getReport() {
loadingBtn.value = true; loadingBtn.value = true;
@ -250,46 +250,46 @@ async function getReport() {
}); });
} }
/** // /**
* function เรยกไฟล XLSX // * function XLSX
* @param data อมลรายงานสถการล // * @param data
*/ // */
async function genReportXLSX(data: any) { // async function genReportXLSX(data: any) {
await axios // await axios
.post(`${config.API.reportTemplate}/xlsx`, data, { // .post(`${config.API.reportTemplate}/xlsx`, data, {
headers: { // headers: {
accept: // accept:
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", // "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"content-Type": "application/json", // "content-Type": "application/json",
}, // },
responseType: "blob", // responseType: "blob",
}) // })
.then(async (res) => { // .then(async (res) => {
const blob = new Blob([res.data]); // const blob = new Blob([res.data]);
await downloadReport(blob, "xlsx"); // await downloadReport(blob, "xlsx");
}) // })
.catch(async (e) => { // .catch(async (e) => {
messageError($q, JSON.parse(await e.response.data.text())); // messageError($q, JSON.parse(await e.response.data.text()));
}); // });
} // }
/** // /**
* // *
* @param data อมลรายงานสถการล // * @param data
* @param type นามสกลไฟ // * @param type
*/ // */
async function downloadReport(data: any, type: string) { // async function downloadReport(data: any, type: string) {
const link = document.createElement("a"); // const link = document.createElement("a");
var fileName = // var fileName =
empType.value == "officer" // empType.value == "officer"
? "รายงานสถิติข้อมูลข้าราชการ กทม. สามัญ" // ? " . "
: "รายงานสถิติข้อมูลลูกจ้างประจำ กทม."; // : " .";
link.href = window.URL.createObjectURL(new Blob([data])); // link.href = window.URL.createObjectURL(new Blob([data]));
link.setAttribute("download", `${fileName}.${type}`); // link.setAttribute("download", `${fileName}.${type}`);
document.body.appendChild(link); // document.body.appendChild(link);
link.click(); // link.click();
document.body.removeChild(link); // document.body.removeChild(link);
} // }
/** /**
* การเปลยนแปลงของ formFilter.value.pageSize * การเปลยนแปลงของ formFilter.value.pageSize
@ -334,7 +334,7 @@ watch(
พบขอมลทงหมด {{ total.toLocaleString() }} รายการ พบขอมลทงหมด {{ total.toLocaleString() }} รายการ
</div> </div>
<!-- empType === "officer" ? --> <!-- empType === "officer" ? -->
<div> <!-- <div>
<q-btn <q-btn
flat flat
dense dense
@ -348,7 +348,7 @@ watch(
}}</q-tooltip }}</q-tooltip
></q-btn ></q-btn
> >
</div> </div> -->
<q-select <q-select
v-if="store.mode === 'table'" v-if="store.mode === 'table'"
v-model="visibleColumns" v-model="visibleColumns"
@ -626,14 +626,14 @@ watch(
<q-dialog v-model="modalReport" persistent> <q-dialog v-model="modalReport" persistent>
<q-card class="col-12" style="width: 40%"> <q-card class="col-12" style="width: 40%">
<DialogHeader <!-- <DialogHeader
:tittle=" :tittle="
empType == 'officer' empType == 'officer'
? 'รายงานสถิติข้อมูลข้าราชการ กทม. สามัญ' ? 'รายงานสถิติข้อมูลข้าราชการ กทม. สามัญ'
: 'รายงานสถิติข้อมูลลูกจ้างประจำ กทม.' : 'รายงานสถิติข้อมูลลูกจ้างประจำ กทม.'
" "
:close="closeDialog" :close="closeDialog"
/> /> -->
<q-separator /> <q-separator />
<q-card-section class="q-pa-lg"> <q-card-section class="q-pa-lg">
<div class="column q-pa-sm q-gutter-y-sm"> <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(); const newVal = val?.toLocaleUpperCase();
switch (newVal) { switch (newVal) {
case "RETIRE": case "RETIRE":
return "เกษียณ "; return "เกษียณ";
case "RETIRE_RESIGN": case "RETIRE_RESIGN":
return "ลาออก "; return "ลาออกจากราชการ";
case "RETIRE_DECEASED": case "RETIRE_DECEASED":
return "ถึงแก่กรรม "; return "ถึงแก่กรรม ";
case "RETIRE_OUT": case "RETIRE_OUT":
return "ให้ออกจากราชการ "; return "ให้ออกจากราชการ";
case "DISCIPLINE_RESULT_REMOVE": case "DISCIPLINE_RESULT_REMOVE":
return "ปลดออกจากราชการ "; return "ปลดออกจากราชการ";
case "DISCIPLINE_RESULT_DISMISS": case "DISCIPLINE_RESULT_DISMISS":
return "ไล่ออกจากราชการ "; return "ไล่ออกจากราชการ";
case "DISCIPLINE_SUSPEND": case "DISCIPLINE_SUSPEND":
return "ถูกพักจากราชการ "; return "ถูกพักจากราชการ";
case "PROBATION_REPORT": case "PROBATION_REPORT":
return "ไม่ผ่านทดลองงาน "; return "ผลการทดลองฯ ต่ำกว่ามาตรฐานที่กำหนด";
case "PLACEMENT_TRANSFER": case "PLACEMENT_TRANSFER":
return "โอนออก "; return "โอนออก";
case "RETIRE_RESIGN_EMP": case "RETIRE_RESIGN_EMP":
return "ลาออก(ลูกจ้าง)"; return "ลาออกจากราชการ";
case "RETIRE_OUT_EMP": case "RETIRE_OUT_EMP":
return "ให้ออกจากราชการ(ลูกจ้าง)"; return "ให้ออกจากราชการ";
case "DISCIPLINE_SUSPEND":
return "พักจากราชการ";
case "DISCIPLINE_TEMP_SUSPEND":
return "ให้ออกจากราชการไว้ก่อน";
default: default:
return ""; return "";
} }
@ -118,19 +122,21 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => {
const retireTypeOps = ref<DataOption[]>([ const retireTypeOps = ref<DataOption[]>([
{ id: "RETIRE", name: "เกษียณ" }, { id: "RETIRE", name: "เกษียณ" },
{ id: "RETIRE_RESIGN", name: "ลาออก" },
{ id: "RETIRE_DECEASED", name: "ถึงแก่กรรม" }, { id: "RETIRE_DECEASED", name: "ถึงแก่กรรม" },
{ id: "RETIRE_RESIGN", name: "ลาออกจากราชการ" },
{ id: "RETIRE_OUT", name: "ให้ออกจากราชการ" }, { id: "RETIRE_OUT", name: "ให้ออกจากราชการ" },
{ id: "DISCIPLINE_RESULT_REMOVE", name: "ปลดออกจากราชการ" }, { id: "DISCIPLINE_RESULT_REMOVE", name: "ปลดออกจากราชการ" },
{ id: "DISCIPLINE_RESULT_DISMISS", name: "ไล่ออกจากราชการ" }, { id: "DISCIPLINE_RESULT_DISMISS", name: "ไล่ออกจากราชการ" },
{ id: "DISCIPLINE_SUSPEND", 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[]>([ const retireTypeEmpOps = ref<DataOption[]>([
{ id: "RETIRE", name: "เกษียณ" }, { id: "RETIRE", name: "เกษียณ" },
{ id: "RETIRE_RESIGN_EMP", name: "ลาออก" },
{ id: "RETIRE_DECEASED", name: "ถึงแก่กรรม" }, { id: "RETIRE_DECEASED", name: "ถึงแก่กรรม" },
{ id: "RETIRE_RESIGN_EMP", name: "ลาออกจากราชการ" },
{ id: "RETIRE_OUT_EMP", name: "ให้ออกจากราชการ" }, { id: "RETIRE_OUT_EMP", name: "ให้ออกจากราชการ" },
]); ]);

View file

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

View file

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