แก้รายงาน (ข้อความและการทำงาน)
This commit is contained in:
parent
e61eb15d66
commit
e5f2e71632
14 changed files with 226 additions and 184 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import { ref, onMounted } from "vue";
|
import { ref } from "vue";
|
||||||
import { VuePDF, usePDF } from "@tato30/vue-pdf";
|
import { VuePDF, usePDF } from "@tato30/vue-pdf";
|
||||||
import { useQuasar } from "quasar";
|
import { useQuasar } from "quasar";
|
||||||
|
|
||||||
|
|
@ -17,7 +17,7 @@ import genReportXLSX from "@/plugins/genreportxlsx";
|
||||||
const isReport = ref<boolean>(true);
|
const isReport = ref<boolean>(true);
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const { showLoader, hideLoader, date2Thai, dateToISO, messageError } = mixin;
|
const { showLoader, hideLoader, messageError } = mixin;
|
||||||
|
|
||||||
const isLoadPDF = ref<boolean>(false);
|
const isLoadPDF = ref<boolean>(false);
|
||||||
|
|
||||||
|
|
@ -150,9 +150,14 @@ function clearFilter() {
|
||||||
detailReport.value = undefined;
|
detailReport.value = undefined;
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="toptitle text-dark col-12 row items-center">
|
<div class="toptitle text-dark col-12 row items-center">
|
||||||
รายงานสถิติสำหรับการสอบแข่งขัน
|
{{
|
||||||
|
$route.name == "reportExam"
|
||||||
|
? "รายงานสรรหา"
|
||||||
|
: "รายงานสถิติสำหรับการสอบแข่งขัน"
|
||||||
|
}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-form greedy @submit.prevent @validation-success="getReportRecruit">
|
<q-form greedy @submit.prevent @validation-success="getReportRecruit">
|
||||||
|
|
|
||||||
|
|
@ -206,7 +206,7 @@ onMounted(() => {
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="toptitle text-dark col-12 row items-center">
|
<div class="toptitle text-dark col-12 row items-center">
|
||||||
รายงานบรรจุ แต่งตั้ง ย้าย โอน
|
รายงานการบรรจุ แต่งตั้ง ย้าย โอน
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-form greedy @submit.prevent @validation-success="fetchDataReport">
|
<q-form greedy @submit.prevent @validation-success="fetchDataReport">
|
||||||
|
|
|
||||||
|
|
@ -228,7 +228,7 @@ onMounted(() => {
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="toptitle text-dark col-12 row items-center">
|
<div class="toptitle text-dark col-12 row items-center">
|
||||||
รายงานพ้นจากราชการ
|
รายงานการพ้นจากราชการ
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-form greedy @submit.prevent @validation-success="fetchDataReport">
|
<q-form greedy @submit.prevent @validation-success="fetchDataReport">
|
||||||
|
|
|
||||||
|
|
@ -349,13 +349,13 @@ onMounted(async () => {
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<q-card class="q-pa-sm">
|
<q-card class="q-pa-sm">
|
||||||
<div class="row q-col-gutter-sm no-wrap">
|
<div class="row q-col-gutter-sm no-wrap">
|
||||||
<div class="col-lg-2 col-md-3 col-sm-3 col-xs-12">
|
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">
|
||||||
<q-select
|
<q-select
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
v-model="employeeClass"
|
v-model="employeeClass"
|
||||||
:options="employeeClassOption"
|
:options="employeeClassOption"
|
||||||
label="สถานภาพ"
|
label="ประเภทตำแหน่ง"
|
||||||
emit-value
|
emit-value
|
||||||
map-options
|
map-options
|
||||||
option-label="name"
|
option-label="name"
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ const SpecialTimeMain = () =>
|
||||||
import("@/modules/09_leave/views/04_SpecialTimeMain.vue");
|
import("@/modules/09_leave/views/04_SpecialTimeMain.vue");
|
||||||
const leaveReport = () => import("@/modules/09_leave/views/06_ReportMain.vue");
|
const leaveReport = () => import("@/modules/09_leave/views/06_ReportMain.vue");
|
||||||
|
|
||||||
const CheckinReport = () =>
|
// const CheckinReport = () =>
|
||||||
import("@/modules/09_leave/views/07_ReportCheckin.vue");
|
// import("@/modules/09_leave/views/!07_ReportCheckin.vue");
|
||||||
export default [
|
export default [
|
||||||
{
|
{
|
||||||
path: "/round-time",
|
path: "/round-time",
|
||||||
|
|
@ -96,9 +96,9 @@ export default [
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
path: "/checkinReport",
|
path: "/checkin-report",
|
||||||
name: "checkinReport",
|
name: "checkinReport",
|
||||||
component: CheckinReport,
|
component: leaveReport,
|
||||||
meta: {
|
meta: {
|
||||||
Auth: true,
|
Auth: true,
|
||||||
Key: "SYS_WORK_REPORT",
|
Key: "SYS_WORK_REPORT",
|
||||||
|
|
|
||||||
|
|
@ -45,26 +45,49 @@ const dateMonth = ref<DataDateMonthObject>({
|
||||||
year: new Date().getFullYear(),
|
year: new Date().getFullYear(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const pageName = ref<string>(route.name as string);
|
||||||
|
|
||||||
const dateWeek = ref<Date[]>(getCurrentWeek());
|
const dateWeek = ref<Date[]>(getCurrentWeek());
|
||||||
const date = ref<Date>(new Date());
|
const date = ref<Date>(new Date());
|
||||||
|
|
||||||
const typeReport = ref<string>("");
|
const typeReport = ref<string>("");
|
||||||
const optionReport = ref<DataOption[]>([]);
|
const optionReport = ref<DataOption[]>([]);
|
||||||
const optionReportMain = ref<DataOption[]>([
|
const optionReportMain = ref<DataOption[]>(
|
||||||
{
|
route.name?.toString() === "reportLeave"
|
||||||
id: "3",
|
? [
|
||||||
name: "รายงานการเข้างาน",
|
{
|
||||||
},
|
id: "3",
|
||||||
{
|
name: "รายงานการเข้างาน",
|
||||||
id: "4",
|
},
|
||||||
name: "รายงานการเข้างานสาย",
|
{
|
||||||
},
|
id: "4",
|
||||||
{ id: "1", name: "รายงานการลางานตามประเภทการลา" },
|
name: "รายงานการเข้างานสาย",
|
||||||
{
|
},
|
||||||
id: "2",
|
{ id: "1", name: "รายงานการลางานตามประเภทการลา" },
|
||||||
name: "รายงานการลางาน จำแนกตามเพศ ประเภทการลา หน่วยงาน/ส่วนราชการ",
|
{
|
||||||
},
|
id: "2",
|
||||||
]);
|
name: "รายงานการลางาน จำแนกตามเพศ ประเภทการลา หน่วยงาน/ส่วนราชการ",
|
||||||
|
},
|
||||||
|
]
|
||||||
|
: route.name?.toString() === "leaveReport"
|
||||||
|
? [
|
||||||
|
{ id: "1", name: "รายงานการลางานตามประเภทการลา" },
|
||||||
|
{
|
||||||
|
id: "2",
|
||||||
|
name: "รายงานการลางาน จำแนกตามเพศ ประเภทการลา หน่วยงาน/ส่วนราชการ",
|
||||||
|
},
|
||||||
|
]
|
||||||
|
: [
|
||||||
|
{
|
||||||
|
id: "3",
|
||||||
|
name: "รายงานการเข้างาน",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "4",
|
||||||
|
name: "รายงานการเข้างานสาย",
|
||||||
|
},
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
const employeeClass = ref<string>("officer");
|
const employeeClass = ref<string>("officer");
|
||||||
const yearType = ref<string>("FULL");
|
const yearType = ref<string>("FULL");
|
||||||
|
|
@ -380,14 +403,22 @@ onMounted(() => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="toptitle text-dark col-12 row items-center">บัญชีแสดงวันลา</div>
|
<div class="toptitle text-dark col-12 row items-center">
|
||||||
|
{{
|
||||||
|
pageName === "reportLeave"
|
||||||
|
? "รายงานบันทึกเวลาและการลา"
|
||||||
|
: pageName === "leaveReport"
|
||||||
|
? "รายงานสถิติการลา"
|
||||||
|
: "รายงานสถิติการลงเวลา"
|
||||||
|
}}
|
||||||
|
</div>
|
||||||
|
|
||||||
<q-form greedy @submit.prevent @validation-success="onSearch">
|
<q-form greedy @submit.prevent @validation-success="onSearch">
|
||||||
<div class="row q-col-gutter-sm">
|
<div class="row q-col-gutter-sm">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<q-card class="q-pa-sm">
|
<q-card class="q-pa-sm">
|
||||||
<div class="row q-col-gutter-sm no-wrap">
|
<div class="row q-col-gutter-sm no-wrap">
|
||||||
<div class="col-lg-2 col-md-3 col-sm-3 col-xs-12">
|
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">
|
||||||
<q-select
|
<q-select
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
|
|
@ -624,7 +655,6 @@ onMounted(() => {
|
||||||
<div class="row q-col-gutter-y-xs">
|
<div class="row q-col-gutter-y-xs">
|
||||||
<div class="text-grey-8 text-caption">เลือกช่วงเวลา</div>
|
<div class="text-grey-8 text-caption">เลือกช่วงเวลา</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
|
|
||||||
<q-select
|
<q-select
|
||||||
class="bg-white"
|
class="bg-white"
|
||||||
dense
|
dense
|
||||||
|
|
|
||||||
|
|
@ -298,14 +298,16 @@ onMounted(async () => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="toptitle text-dark col-12 row items-center">รายงานวินัย</div>
|
<div class="toptitle text-dark col-12 row items-center">
|
||||||
|
รายงานการดำเนินการทางวินัย
|
||||||
|
</div>
|
||||||
|
|
||||||
<q-form greedy @submit.prevent @validation-success="onUpdateFilter">
|
<q-form greedy @submit.prevent @validation-success="onUpdateFilter">
|
||||||
<div class="row q-col-gutter-sm">
|
<div class="row q-col-gutter-sm">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<q-card class="q-pa-sm">
|
<q-card class="q-pa-sm">
|
||||||
<div class="row q-col-gutter-sm no-wrap">
|
<div class="row q-col-gutter-sm no-wrap">
|
||||||
<div class="col-lg-2 col-md-3 col-sm-3 col-xs-12">
|
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">
|
||||||
<q-select
|
<q-select
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
|
|
|
||||||
|
|
@ -509,7 +509,7 @@ onMounted(() => {
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="toptitle text-dark col-12 row items-center">
|
<div class="toptitle text-dark col-12 row items-center">
|
||||||
รายงานประเมินผลการปฏิบัติราชการระดับบุคคล
|
รายงานการประเมินผลฯ ระดับบุคคล
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-form greedy @submit.prevent @validation-success="fetchReport">
|
<q-form greedy @submit.prevent @validation-success="fetchReport">
|
||||||
|
|
@ -655,7 +655,7 @@ onMounted(() => {
|
||||||
</template>
|
</template>
|
||||||
</datepicker>
|
</datepicker>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12"><q-separator/></div>
|
<div class="col-12"><q-separator /></div>
|
||||||
<div class="col-12 q-px-sm">
|
<div class="col-12 q-px-sm">
|
||||||
<q-select
|
<q-select
|
||||||
ref="roundRef"
|
ref="roundRef"
|
||||||
|
|
@ -681,8 +681,11 @@ onMounted(() => {
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12"><q-separator/></div>
|
<div class="col-12"><q-separator /></div>
|
||||||
<div class="col-12 q-pb-xs q-px-sm" v-if="typeReport !== 'KPI8'">
|
<div
|
||||||
|
class="col-12 q-pb-xs q-px-sm"
|
||||||
|
v-if="typeReport !== 'KPI8'"
|
||||||
|
>
|
||||||
<q-select
|
<q-select
|
||||||
class="bg-white"
|
class="bg-white"
|
||||||
:disable="roundOp.length === 0"
|
:disable="roundOp.length === 0"
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ import type { OrgRevision } from "@/modules/02_organization/interface/response/o
|
||||||
import TreeView from "@/modules/21_report/components/01_org/Main.vue";
|
import TreeView from "@/modules/21_report/components/01_org/Main.vue";
|
||||||
import StructureView from "@/modules/02_organization/components/StructureMain.vue";
|
import StructureView from "@/modules/02_organization/components/StructureMain.vue";
|
||||||
import StructureOrgMain from "@/modules/02_organization/components/StructureOrgMain.vue";
|
import StructureOrgMain from "@/modules/02_organization/components/StructureOrgMain.vue";
|
||||||
import DialogHeader from "@/components/DialogHeader.vue";
|
// import DialogHeader from "@/components/DialogHeader.vue";
|
||||||
|
|
||||||
/** use*/
|
/** use*/
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
|
|
@ -34,8 +34,8 @@ const historyId = ref<string>(""); // ID ประวัติโครงสร
|
||||||
const labelHistory = ref<string>("ประวัติโครงสร้าง"); // ชื่อประวัติโครงสร้าง
|
const labelHistory = ref<string>("ประวัติโครงสร้าง"); // ชื่อประวัติโครงสร้าง
|
||||||
const count = ref<number>(0);
|
const count = ref<number>(0);
|
||||||
|
|
||||||
const modalCommand = ref<boolean>(false); //ส่งไปออกคำสั่ง
|
// const modalCommand = ref<boolean>(false); //ส่งไปออกคำสั่ง
|
||||||
const modalRemark = ref<boolean>(false); // หมายเหตุ
|
// const modalRemark = ref<boolean>(false); // หมายเหตุ
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* function เรียกข้อมูลโครงสร้าง แบบปัจุบันและ แบบร่าง
|
* function เรียกข้อมูลโครงสร้าง แบบปัจุบันและ แบบร่าง
|
||||||
|
|
@ -99,19 +99,19 @@ async function fetchHistory() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* function openPopup เพิ่มโครงสร้าง
|
// * function openPopup เพิ่มโครงสร้าง
|
||||||
* @param type ประเภทการเพิ่มโครงาสร้าง
|
// * @param type ประเภทการเพิ่มโครงาสร้าง
|
||||||
*/
|
// */
|
||||||
function ocClickAddStructure(type: string) {
|
// function ocClickAddStructure(type: string) {
|
||||||
modalNewStructure.value = !modalNewStructure.value;
|
// modalNewStructure.value = !modalNewStructure.value;
|
||||||
typeStructure.value = type;
|
// typeStructure.value = type;
|
||||||
}
|
// }
|
||||||
|
|
||||||
/** function openPopup ตั้งเวลาเผยแพร่ */
|
// /** function openPopup ตั้งเวลาเผยแพร่ */
|
||||||
function onClickDateTime() {
|
// function onClickDateTime() {
|
||||||
modalDateTime.value = !modalDateTime.value;
|
// modalDateTime.value = !modalDateTime.value;
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* function เปิดประวัติโครงสร้าง
|
* function เปิดประวัติโครงสร้าง
|
||||||
|
|
@ -125,18 +125,18 @@ function onClickHistory(id: string, name: string) {
|
||||||
count.value++;
|
count.value++;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function workflowSystem() {
|
// async function workflowSystem() {
|
||||||
http
|
// http
|
||||||
.get(config.API.workflowKeycloakSystem("SYS_ORG"))
|
// .get(config.API.workflowKeycloakSystem("SYS_ORG"))
|
||||||
.then((res) => {
|
// .then((res) => {
|
||||||
const data = res.data.result;
|
// const data = res.data.result;
|
||||||
store.isOfficer = data.isOfficer;
|
// store.isOfficer = data.isOfficer;
|
||||||
store.isStaff = data.isStaff;
|
// store.isStaff = data.isStaff;
|
||||||
})
|
// })
|
||||||
.catch((e) => {
|
// .catch((e) => {
|
||||||
messageError($q, e);
|
// messageError($q, e);
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
|
||||||
async function fetchCheckIslock(id: string) {
|
async function fetchCheckIslock(id: string) {
|
||||||
http
|
http
|
||||||
|
|
@ -150,20 +150,20 @@ async function fetchCheckIslock(id: string) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
watch(
|
// watch(
|
||||||
() => store.typeOrganizational,
|
// () => store.typeOrganizational,
|
||||||
() => {
|
// () => {
|
||||||
if (
|
// if (
|
||||||
store.typeOrganizational === "draft" &&
|
// store.typeOrganizational === "draft" &&
|
||||||
store.isOfficer === null &&
|
// store.isOfficer === null &&
|
||||||
store.isStaff === null
|
// store.isStaff === null
|
||||||
) {
|
// ) {
|
||||||
workflowSystem();
|
// workflowSystem();
|
||||||
} else if (store.typeOrganizational === "draft") {
|
// } else if (store.typeOrganizational === "draft") {
|
||||||
store.rootId = "";
|
// store.rootId = "";
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
);
|
// );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* lifecycleHook ทำงานเมื่อมีการเรียกใช้ Components
|
* lifecycleHook ทำงานเมื่อมีการเรียกใช้ Components
|
||||||
|
|
@ -177,11 +177,11 @@ onMounted(async () => {
|
||||||
<template>
|
<template>
|
||||||
<div class="row items-center">
|
<div class="row items-center">
|
||||||
<div class="toptitle text-dark row items-center q-py-xs">
|
<div class="toptitle text-dark row items-center q-py-xs">
|
||||||
รายงานโครงสร้างอัตรากำลัง
|
รายงานโครงสร้างและกรอบอัตรากำลัง
|
||||||
</div>
|
</div>
|
||||||
<q-space />
|
<q-space />
|
||||||
|
|
||||||
<div
|
<!-- <div
|
||||||
class="toptitle row items-center"
|
class="toptitle row items-center"
|
||||||
v-if="store.typeOrganizational === 'draft'"
|
v-if="store.typeOrganizational === 'draft'"
|
||||||
>
|
>
|
||||||
|
|
@ -202,11 +202,11 @@ onMounted(async () => {
|
||||||
@click="onClickDateTime"
|
@click="onClickDateTime"
|
||||||
>
|
>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-card flat bordered>
|
<q-card flat bordered>
|
||||||
<div class="q-pa-xl" v-if="!isStatusData">
|
<!-- <div class="q-pa-xl" v-if="!isStatusData">
|
||||||
<q-card
|
<q-card
|
||||||
flat
|
flat
|
||||||
bordered
|
bordered
|
||||||
|
|
@ -244,57 +244,57 @@ onMounted(async () => {
|
||||||
</q-card>
|
</q-card>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-else>
|
<div v-else> -->
|
||||||
<q-card class="my-card">
|
<q-card class="my-card">
|
||||||
<q-card-section class="q-pa-sm">
|
<q-card-section class="q-pa-sm">
|
||||||
<q-toolbar class="q-gutter-md items-center" style="padding: 0px">
|
<q-toolbar class="q-gutter-md items-center" style="padding: 0px">
|
||||||
<q-btn-group outline>
|
<q-btn-group outline>
|
||||||
<q-btn
|
|
||||||
dense
|
|
||||||
class="q-px-md"
|
|
||||||
:outline="store.typeOrganizational === 'current' ? false : true"
|
|
||||||
color="blue"
|
|
||||||
label="ปัจจุบัน"
|
|
||||||
:disable="store.activeId == '' || store.activeId == null"
|
|
||||||
@click="
|
|
||||||
(store.typeOrganizational = 'current'),
|
|
||||||
(labelHistory = 'ประวัติโครงสร้าง')
|
|
||||||
"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<q-btn-dropdown
|
|
||||||
v-if="
|
|
||||||
checkPermission($route)?.attrOwnership == 'OWNER' &&
|
|
||||||
itemHistory.length > 0
|
|
||||||
"
|
|
||||||
dense
|
|
||||||
class="q-px-md"
|
|
||||||
color="blue"
|
|
||||||
:label="labelHistory"
|
|
||||||
@click="store.typeOrganizational = 'old'"
|
|
||||||
:outline="store.typeOrganizational === 'old' ? false : true"
|
|
||||||
>
|
|
||||||
<q-list>
|
|
||||||
<q-item
|
|
||||||
dense
|
|
||||||
clickable
|
|
||||||
v-close-popup
|
|
||||||
v-for="(item, index) in itemHistory"
|
|
||||||
:key="index"
|
|
||||||
@click="onClickHistory(item.id, item.name)"
|
|
||||||
>
|
|
||||||
<q-item-section>
|
|
||||||
<q-item-label
|
|
||||||
>{{ item.orgRevisionCreatedAt }}
|
|
||||||
{{ item.name }}</q-item-label
|
|
||||||
>
|
|
||||||
</q-item-section>
|
|
||||||
</q-item>
|
|
||||||
</q-list>
|
|
||||||
</q-btn-dropdown>
|
|
||||||
</q-btn-group>
|
|
||||||
|
|
||||||
<q-btn
|
<q-btn
|
||||||
|
dense
|
||||||
|
class="q-px-md"
|
||||||
|
:outline="store.typeOrganizational === 'current' ? false : true"
|
||||||
|
color="blue"
|
||||||
|
label="ปัจจุบัน"
|
||||||
|
:disable="store.activeId == '' || store.activeId == null"
|
||||||
|
@click="
|
||||||
|
(store.typeOrganizational = 'current'),
|
||||||
|
(labelHistory = 'ประวัติโครงสร้าง')
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<q-btn-dropdown
|
||||||
|
v-if="
|
||||||
|
checkPermission($route)?.attrOwnership == 'OWNER' &&
|
||||||
|
itemHistory.length > 0
|
||||||
|
"
|
||||||
|
dense
|
||||||
|
class="q-px-md"
|
||||||
|
color="blue"
|
||||||
|
:label="labelHistory"
|
||||||
|
@click="store.typeOrganizational = 'old'"
|
||||||
|
:outline="store.typeOrganizational === 'old' ? false : true"
|
||||||
|
>
|
||||||
|
<q-list>
|
||||||
|
<q-item
|
||||||
|
dense
|
||||||
|
clickable
|
||||||
|
v-close-popup
|
||||||
|
v-for="(item, index) in itemHistory"
|
||||||
|
:key="index"
|
||||||
|
@click="onClickHistory(item.id, item.name)"
|
||||||
|
>
|
||||||
|
<q-item-section>
|
||||||
|
<q-item-label
|
||||||
|
>{{ item.orgRevisionCreatedAt }}
|
||||||
|
{{ item.name }}</q-item-label
|
||||||
|
>
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</q-list>
|
||||||
|
</q-btn-dropdown>
|
||||||
|
</q-btn-group>
|
||||||
|
|
||||||
|
<!-- <q-btn
|
||||||
v-if="store.remark"
|
v-if="store.remark"
|
||||||
flat
|
flat
|
||||||
round
|
round
|
||||||
|
|
@ -303,59 +303,59 @@ onMounted(async () => {
|
||||||
@click="modalRemark = true"
|
@click="modalRemark = true"
|
||||||
>
|
>
|
||||||
<q-tooltip>หมายเหตุ</q-tooltip>
|
<q-tooltip>หมายเหตุ</q-tooltip>
|
||||||
</q-btn>
|
</q-btn> -->
|
||||||
|
|
||||||
<q-space />
|
<q-space />
|
||||||
<q-btn
|
<q-btn
|
||||||
flat
|
flat
|
||||||
dense
|
dense
|
||||||
:color="store.statusView === 'list' ? 'grey-7' : 'grey-4'"
|
:color="store.statusView === 'list' ? 'grey-7' : 'grey-4'"
|
||||||
icon="mdi-file-tree"
|
icon="mdi-file-tree"
|
||||||
@click="store.statusView = 'list'"
|
@click="store.statusView = 'list'"
|
||||||
|
/>
|
||||||
|
<q-separator inset vertical />
|
||||||
|
<q-btn
|
||||||
|
flat
|
||||||
|
dense
|
||||||
|
icon="mdi-sitemap"
|
||||||
|
:color="store.statusView === 'tree' ? 'grey-7' : 'grey-4'"
|
||||||
|
@click="store.statusView = 'tree'"
|
||||||
|
/>
|
||||||
|
<q-separator inset vertical />
|
||||||
|
<q-btn
|
||||||
|
flat
|
||||||
|
dense
|
||||||
|
icon="mdi-account-group"
|
||||||
|
:color="store.statusView === 'org' ? 'grey-7' : 'grey-4'"
|
||||||
|
@click="store.statusView = 'org'"
|
||||||
|
/>
|
||||||
|
</q-toolbar>
|
||||||
|
</q-card-section>
|
||||||
|
<q-separator />
|
||||||
|
<q-card-section style="padding: 0px">
|
||||||
|
<q-tab-panels v-model="store.statusView" animated>
|
||||||
|
<q-tab-panel name="list" style="padding: 0px">
|
||||||
|
<TreeView
|
||||||
|
v-if="store.statusView === 'list'"
|
||||||
|
v-model:historyId="historyId"
|
||||||
|
v-model:count="count"
|
||||||
/>
|
/>
|
||||||
<q-separator inset vertical />
|
</q-tab-panel>
|
||||||
<q-btn
|
|
||||||
flat
|
|
||||||
dense
|
|
||||||
icon="mdi-sitemap"
|
|
||||||
:color="store.statusView === 'tree' ? 'grey-7' : 'grey-4'"
|
|
||||||
@click="store.statusView = 'tree'"
|
|
||||||
/>
|
|
||||||
<q-separator inset vertical />
|
|
||||||
<q-btn
|
|
||||||
flat
|
|
||||||
dense
|
|
||||||
icon="mdi-account-group"
|
|
||||||
:color="store.statusView === 'org' ? 'grey-7' : 'grey-4'"
|
|
||||||
@click="store.statusView = 'org'"
|
|
||||||
/>
|
|
||||||
</q-toolbar>
|
|
||||||
</q-card-section>
|
|
||||||
<q-separator />
|
|
||||||
<q-card-section style="padding: 0px">
|
|
||||||
<q-tab-panels v-model="store.statusView" animated>
|
|
||||||
<q-tab-panel name="list" style="padding: 0px">
|
|
||||||
<TreeView
|
|
||||||
v-if="store.statusView === 'list'"
|
|
||||||
v-model:historyId="historyId"
|
|
||||||
v-model:count="count"
|
|
||||||
/>
|
|
||||||
</q-tab-panel>
|
|
||||||
|
|
||||||
<q-tab-panel name="tree" style="padding: 0px">
|
<q-tab-panel name="tree" style="padding: 0px">
|
||||||
<StructureView v-if="store.statusView === 'tree'" />
|
<StructureView v-if="store.statusView === 'tree'" />
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
|
|
||||||
<q-tab-panel name="org" style="padding: 0px">
|
<q-tab-panel name="org" style="padding: 0px">
|
||||||
<StructureOrgMain v-if="store.statusView === 'org'" />
|
<StructureOrgMain v-if="store.statusView === 'org'" />
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
</q-tab-panels>
|
</q-tab-panels>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
</q-card>
|
</q-card>
|
||||||
</div>
|
<!-- </div> -->
|
||||||
</q-card>
|
</q-card>
|
||||||
|
|
||||||
<q-dialog v-model="modalRemark">
|
<!-- <q-dialog v-model="modalRemark">
|
||||||
<q-card style="width: 300px">
|
<q-card style="width: 300px">
|
||||||
<DialogHeader tittle="หมายเหตุ" :close="() => (modalRemark = false)" />
|
<DialogHeader tittle="หมายเหตุ" :close="() => (modalRemark = false)" />
|
||||||
|
|
||||||
|
|
@ -368,7 +368,7 @@ onMounted(async () => {
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
</q-card>
|
</q-card>
|
||||||
</q-dialog>
|
</q-dialog> -->
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped></style>
|
<style scoped></style>
|
||||||
|
|
|
||||||
|
|
@ -832,7 +832,7 @@ watch(
|
||||||
<div class="row col-12 q-gutter-sm">
|
<div class="row col-12 q-gutter-sm">
|
||||||
<q-card class="col-12 q-pa-sm">
|
<q-card class="col-12 q-pa-sm">
|
||||||
<div class="row col-12 q-col-gutter-sm no-wrap">
|
<div class="row col-12 q-col-gutter-sm no-wrap">
|
||||||
<div class="col-lg-2 col-md-3 col-sm-3 col-xs-12">
|
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">
|
||||||
<q-select
|
<q-select
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
|
|
|
||||||
|
|
@ -220,7 +220,7 @@ onMounted(async () => {
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="toptitle text-dark col-12 row items-center">
|
<div class="toptitle text-dark col-12 row items-center">
|
||||||
รายงานโครงการ/หลักสูตรการฝึกอบรมที่หน่วยงานของกรุงเทพมหานครเป็นผู้จัด
|
รายงานการพัฒนาบุคลากร/การศึกษาต่อ
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-form greedy @submit.prevent @validation-success="getReport">
|
<q-form greedy @submit.prevent @validation-success="getReport">
|
||||||
|
|
|
||||||
|
|
@ -161,7 +161,7 @@ onMounted(() => {
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="toptitle text-dark col-12 row items-center">
|
<div class="toptitle text-dark col-12 row items-center">
|
||||||
รายงานประเมินบุคคล
|
รายงานระบบประเมินบุคคล
|
||||||
</div>
|
</div>
|
||||||
<q-form greedy @submit.prevent @validation-success="fetchReport">
|
<q-form greedy @submit.prevent @validation-success="fetchReport">
|
||||||
<div class="row q-col-gutter-sm">
|
<div class="row q-col-gutter-sm">
|
||||||
|
|
|
||||||
|
|
@ -301,20 +301,22 @@ onMounted(() => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="toptitle text-dark col-12 row items-center">รายงานเงินเดือน</div>
|
<div class="toptitle text-dark col-12 row items-center">
|
||||||
|
รายงานระบบเงินเดือน
|
||||||
|
</div>
|
||||||
|
|
||||||
<q-form greedy @submit.prevent @validation-success="fetchReportPDF">
|
<q-form greedy @submit.prevent @validation-success="fetchReportPDF">
|
||||||
<div class="row q-col-gutter-sm">
|
<div class="row q-col-gutter-sm">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<q-card class="q-pa-sm">
|
<q-card class="q-pa-sm">
|
||||||
<div class="row q-col-gutter-sm no-wrap">
|
<div class="row q-col-gutter-sm no-wrap">
|
||||||
<div class="col-lg-2 col-md-3 col-sm-3 col-xs-12">
|
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">
|
||||||
<q-select
|
<q-select
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
v-model="employeeClass"
|
v-model="employeeClass"
|
||||||
:options="employeeClassOption"
|
:options="employeeClassOption"
|
||||||
label="สภานภาพ"
|
label="ประเภทตำแหน่ง"
|
||||||
emit-value
|
emit-value
|
||||||
map-options
|
map-options
|
||||||
option-label="name"
|
option-label="name"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue